)]}'
{
  "HEAD": {
    "value": "16a10608129ca9ce8ae04d21df1462f4d69ac018",
    "target": "refs/heads/main"
  },
  "refs/heads/dependabot/maven/webapp/com.microsoft.sqlserver-mssql-jdbc-11.1.0.jre8-preview": {
    "value": "7b2de688d68962d0e3208d7afdc1260e0644a6cc"
  },
  "refs/heads/infrastructure-ruleset-bot/default-branch-protection": {
    "value": "4b996983167f6e91e589a71da9738564a26f85d4"
  },
  "refs/heads/main": {
    "value": "16a10608129ca9ce8ae04d21df1462f4d69ac018"
  },
  "refs/heads/maintenance-branch": {
    "value": "8b79a3292da71b0e14e693b9011d3b180151c727"
  },
  "refs/heads/v2": {
    "value": "f7c958e9c9c2dc65dceb94c246123031d5c749fb"
  },
  "refs/heads/v3": {
    "value": "64ed18975ee21934f611e6ee0ba911f6910adecd"
  },
  "refs/heads/v4": {
    "value": "81f36fbbd57ceb89c0c5b7b6bb4a98ac2b153ffa"
  },
  "refs/pull/1/head": {
    "value": "caf4606963d63faac0aa027f04b84367e6741fdc"
  },
  "refs/pull/2/head": {
    "value": "7b2de688d68962d0e3208d7afdc1260e0644a6cc"
  },
  "refs/pull/2/merge": {
    "value": "e045c1bdc9d3262e2f11c297c6f179084732e502"
  },
  "refs/pull/3/head": {
    "value": "4b996983167f6e91e589a71da9738564a26f85d4"
  },
  "refs/tags/begin-demo": {
    "value": "05f8b4877c2bc841e026feb686811a919e0e5c0d"
  },
  "refs/tags/demo-1": {
    "value": "06220662101c4823c29517f9b9737ea8beb75778"
  },
  "refs/tags/demo-1a": {
    "value": "a2c20175c0bd630e9a188ee7f6bfaca398241e32"
  },
  "refs/tags/demo-2": {
    "value": "3c60ea3ebdb3b280ac348968fc66a620d02e4628"
  },
  "refs/tags/demo-2a": {
    "value": "2fbdb1793728b98bfab2e0c7fac9939639c29bcc"
  },
  "refs/tags/demo-3": {
    "value": "0eb591fa0784b49ae3e6262ca4c2098e18a1b172"
  },
  "refs/tags/demo-3a": {
    "value": "591701d46bd49704296f262405434317507df367"
  },
  "refs/tags/demo-4": {
    "value": "460c0fe2066c2c4a587cc72f7d84820475c97719"
  },
  "refs/tags/tags/2.0.0/01-01-starter-app": {
    "value": "7b2d3efa9d24f2603c208ee59a2b3f3bc5ca8e47"
  },
  "refs/tags/tags/2.0.0/02-01-copies-SimpleObject-to-PetOwner": {
    "value": "9c44a8c69d16e66e468d0af33efa31d80b12b41b"
  },
  "refs/tags/tags/2.0.0/02-02-configure-the-app-to-include-petowner": {
    "value": "9d1d1a4726b45ab88887253a605a70c355834ba9"
  },
  "refs/tags/tags/2.0.0/02-03-add-security-role-for-petowner": {
    "value": "f7dc097296daf35b88761e3b5409009305771a1c"
  },
  "refs/tags/tags/2.0.0/02-04-update-menubar-for-petowners": {
    "value": "3ed5fa858752437027496bb0042152eb26dc48c3"
  },
  "refs/tags/tags/2.0.0/02-05-setup-demo-petowners": {
    "value": "06f408f6e97cde527cccaee36265bee73fd29bf2"
  },
  "refs/tags/tags/2.0.0/03-01-adds-PetOwner-knownAs-property": {
    "value": "3ad1975193917c4c2daf8c6e7097a4299af86b22"
  },
  "refs/tags/tags/2.0.0/03-02-define-PetOwner-title-imperatively": {
    "value": "4a315b8215266095a7346240709b182c8678188f"
  },
  "refs/tags/tags/2.0.0/03-03-remaining-PetOwner-properties": {
    "value": "68c342277a7673fc96f964614f9062a78237e12c"
  },
  "refs/tags/tags/2.0.0/03-04-list-new-properties-of-PetOwner": {
    "value": "dbbb07b342f94f87250852f84db91222113707ca"
  },
  "refs/tags/tags/2.0.0/03-05-initial-fixture-script": {
    "value": "ae001a2066cf81be103097a6a5b661731773f2df"
  },
  "refs/tags/tags/2.0.0/03-06-update-home-page-to-show-pet-owners": {
    "value": "25c5cd06f224e8bc871216592bb05c1660557781"
  },
  "refs/tags/tags/2.0.0/03-07-modifies-PetOwners-create-action": {
    "value": "50013c0ba4d058766ba12c43231917e24356f890"
  },
  "refs/tags/tags/2.0.0/03-08-prompt-styles": {
    "value": "87dfaf7dbe03e833e6d43a51491e86008230eef9"
  },
  "refs/tags/tags/2.0.0/03-09-derived-days-since-last-visit-property": {
    "value": "0870f76b292a16cac386f58eede2c2c0a537ce89"
  },
  "refs/tags/tags/2.0.0/03-10-use-meta-annotations-to-reduce-duplication": {
    "value": "ca6382ae2d365412bd88d0cb3ac31f63d65bc9b4"
  },
  "refs/tags/tags/2.0.0/03-11-validation-rules-using-metaannotations": {
    "value": "8e6d1b698bd38cc1cad294c9894da9403888ca70"
  },
  "refs/tags/tags/2.0.0/03-12-moves-validation-onto-metaannotation": {
    "value": "aedd258f0a9b9b952b96fb51fff8ae7df74330c1"
  },
  "refs/tags/tags/2.0.0/03-13-scalar-custom-value-type-for-email-address": {
    "value": "e393e9b16696163c6ebda88d4020550025c29624"
  },
  "refs/tags/tags/2.0.0/03-14-use-layout-xml-for-ui-semantics": {
    "value": "8ea0e207a57261ffedf70c4844d5f89454f6882c"
  },
  "refs/tags/tags/2.0.0/03-15-change-pet-owner-icon-png": {
    "value": "4015031736ed791146296e4b222a48ad5297bd4b"
  },
  "refs/tags/tags/2.0.0/04-01-pet-entity-key-properties": {
    "value": "9f43e2d971b8df1430d9e881d694321feadc16b5"
  },
  "refs/tags/tags/2.0.0/04-02-pet-ui-and-layout-semantics": {
    "value": "7b8125308e25d98c8e06969e30d25ff8eec2d72d"
  },
  "refs/tags/tags/2.0.0/04-03-PetOwner-pets-collection": {
    "value": "33a2d902f40a953c2fbd6e38f11f4955e6b94322"
  },
  "refs/tags/tags/2.0.0/04-04-add-remove-pets": {
    "value": "8c395624c7eae5429999bdfa7e1d112ba3114bb1"
  },
  "refs/tags/tags/2.0.0/04-05-extend-fixture-data-to-add-in-pets": {
    "value": "b9333db88327bdc50fd34419028f3e04807c49ad"
  },
  "refs/tags/tags/2.0.0/04-06-unique-pet-names-validation": {
    "value": "d74562e00454414491653c858958305118a8a2d3"
  },
  "refs/tags/tags/2.0.0/04-07-pet-remaining-properties": {
    "value": "c08b831692cdff0b3e3d085d1f24e7224b6e1d7a"
  },
  "refs/tags/tags/2.0.0/04-08-dynamic-icons": {
    "value": "359bf5c443dc7a2bd1107b4cde410e1163fe2dbf"
  },
  "refs/tags/tags/2.0.0/05-01-visit-module": {
    "value": "d4da7fdc3c60f85ebbf367feb9dd8f721ba9bdf5"
  },
  "refs/tags/tags/2.0.0/05-02-visit-module-dependencies": {
    "value": "9f429911487f3c66ab08e71caa39000aa6c855a6"
  },
  "refs/tags/tags/2.0.0/05-03-visit-entity-key-properties": {
    "value": "441439ed99537f014e31bfe28e242e819c64c4b3"
  },
  "refs/tags/tags/2.0.0/05-04-book-visit-action": {
    "value": "9790f11a35319dd0e564273f6a628a34b718ede8"
  },
  "refs/tags/tags/2.0.0/06-01-unit-test-bookVisit-default-time": {
    "value": "230b6a74b85d30cb30269bc3f318875d315ccc76"
  },
  "refs/tags/tags/2.0.0/07-01-delete-action-events": {
    "value": "3e34fc096704199c35e77d7ad0698aa916afc78b"
  },
  "refs/tags/tags/2.0.0/08-01-home-page-additional-collections": {
    "value": "ac532947cd6063195804ebeec8a13ebb75c25a22"
  },
  "refs/tags/tags/2.0.0/08-02-home-page-bookVisit-convenience-action": {
    "value": "21d0b22ad7316cfc81944c59986ec373edb7dc8b"
  },
  "refs/tags/tags/2.0.0/09-01-bookVisit-integ-test": {
    "value": "64e79fd417351e551214c8de9434ea12e01c0cc6"
  },
  "refs/tags/tags/2.0.0/09-02-adds-visit-fixture": {
    "value": "f7c958e9c9c2dc65dceb94c246123031d5c749fb"
  },
  "refs/tags/tags/2.1.0/01-01-starter-app": {
    "value": "8a16087b16673b977ea34998a3966d6d73c7fac1"
  },
  "refs/tags/tags/2.1.0/02-01-copies-SimpleObject-to-PetOwner": {
    "value": "c8a402ffdd503922e26a786f58861e69524c2253"
  },
  "refs/tags/tags/2.1.0/02-02-configure-the-app-to-include-petowner": {
    "value": "0e64faa110d59dac0dc6ca709ae62842ed9858b8"
  },
  "refs/tags/tags/2.1.0/02-03-add-security-role-for-petowner": {
    "value": "48af223b5bc5595490417c82b591d6a63315dd32"
  },
  "refs/tags/tags/2.1.0/02-04-update-menubar-for-petowners": {
    "value": "98edaf42f197fdb944cd15bc02947101e0fd1a2a"
  },
  "refs/tags/tags/2.1.0/02-05-setup-demo-petowners": {
    "value": "39eba16d28e1edccf91d0367c88b80ca8a195344"
  },
  "refs/tags/tags/2.1.0/03-01-adds-PetOwner-knownAs-property": {
    "value": "b7e31bee0af4d776aae08f99bd11673f68aa182f"
  },
  "refs/tags/tags/2.1.0/03-02-define-PetOwner-title-imperatively": {
    "value": "d6896f643e83f393df59e95ffbc41fc92c3fc841"
  },
  "refs/tags/tags/2.1.0/03-03-remaining-PetOwner-properties": {
    "value": "ee430d6f3143b8d58edb352a165d522f9fd7c2e9"
  },
  "refs/tags/tags/2.1.0/03-04-list-new-properties-of-PetOwner": {
    "value": "b89c1da66a4f6ee7c4040d12cb19551452eb0690"
  },
  "refs/tags/tags/2.1.0/03-05-initial-fixture-script": {
    "value": "75fa4bb18eab1997ffcd389760d1eafdc4c65f84"
  },
  "refs/tags/tags/2.1.0/03-06-update-home-page-to-show-pet-owners": {
    "value": "7ca7a6bf05a5fbefa8321122c480e33199af58f3"
  },
  "refs/tags/tags/2.1.0/03-07-modifies-PetOwners-create-action": {
    "value": "81a9d941761163a8a2ea11f538dc47d2a6662bd1"
  },
  "refs/tags/tags/2.1.0/03-08-prompt-styles": {
    "value": "9437eb9747a58ccc9a707ddca815d41923ee750f"
  },
  "refs/tags/tags/2.1.0/03-09-derived-days-since-last-visit-property": {
    "value": "6fb73de3884a612e4bf366e67f51b07141baca71"
  },
  "refs/tags/tags/2.1.0/03-10-use-meta-annotations-to-reduce-duplication": {
    "value": "4050aa1bdbfc47de40031d1e942bb6c348537b08"
  },
  "refs/tags/tags/2.1.0/03-11-validation-rules-using-metaannotations": {
    "value": "a3e02b8852c3d3d76d65d110351abcba76dfde53"
  },
  "refs/tags/tags/2.1.0/03-12-moves-validation-onto-metaannotation": {
    "value": "6fc1690f938b03d1770c004aee57dd0e4386818a"
  },
  "refs/tags/tags/2.1.0/03-13-scalar-custom-value-type-for-email-address": {
    "value": "0798b049155b0199140f484191a6d57e057eb946"
  },
  "refs/tags/tags/2.1.0/03-14-use-layout-xml-for-ui-semantics": {
    "value": "fd2d28c396da0c90ed60af1445652d088751a92a"
  },
  "refs/tags/tags/2.1.0/03-15-change-pet-owner-icon-png": {
    "value": "8f9c19b3411c50085af65a6c150b0a8d70b1cfea"
  },
  "refs/tags/tags/2.1.0/04-01-pet-entity-key-properties": {
    "value": "b709f8598923e685a2474a5ec8aacc59ef19343f"
  },
  "refs/tags/tags/2.1.0/04-02-pet-ui-and-layout-semantics": {
    "value": "2682b7b639c437931f64cd0efa10e76f5b2dfd3f"
  },
  "refs/tags/tags/2.1.0/04-03-PetOwner-pets-collection": {
    "value": "054e6558e72c90ee285c584d47b85a42a608785b"
  },
  "refs/tags/tags/2.1.0/04-04-add-remove-pets": {
    "value": "22406ce438e726108010f3810ec09c6106e57739"
  },
  "refs/tags/tags/2.1.0/04-05-extend-fixture-data-to-add-in-pets": {
    "value": "92350f17d59f8b44d8c3211db8d5b0021fa78808"
  },
  "refs/tags/tags/2.1.0/04-06-unique-pet-names-validation": {
    "value": "2045796e6f3faae987ea719316683dfa4ab69a59"
  },
  "refs/tags/tags/2.1.0/04-07-pet-remaining-properties": {
    "value": "204b6dfdf8885c48fd72134d44316748c52ed33a"
  },
  "refs/tags/tags/2.1.0/04-08-dynamic-icons": {
    "value": "7608a996d8bbd3e532f59d024a98f4a767280025"
  },
  "refs/tags/tags/2.1.0/05-01-visit-module": {
    "value": "01bd4e336d63ebc7a5cc65e5fa7bd247fd0c8181"
  },
  "refs/tags/tags/2.1.0/05-02-visit-module-dependencies": {
    "value": "b00e4a7e4f46229d06b97e8c818d021b5e529f6c"
  },
  "refs/tags/tags/2.1.0/05-03-visit-entity-key-properties": {
    "value": "9a6c207919781d0103e6efef30f042a99493b6dc"
  },
  "refs/tags/tags/2.1.0/05-04-book-visit-action": {
    "value": "586a964c698e5a5557bec80da37809d5774e19b2"
  },
  "refs/tags/tags/2.1.0/06-01-unit-test-bookVisit-default-time": {
    "value": "c807cf4308466361559cea01ce9f522af45a727c"
  },
  "refs/tags/tags/2.1.0/07-01-delete-action-events": {
    "value": "044593ed061e8803716915b727aaeda15b9de47c"
  },
  "refs/tags/tags/2.1.0/08-01-home-page-additional-collections": {
    "value": "df4d95f483f3bc91efff62796bae10c902a8ca76"
  },
  "refs/tags/tags/2.1.0/08-02-home-page-bookVisit-convenience-action": {
    "value": "6732e2dc2ced95ed47974648596904ebfbad6537"
  },
  "refs/tags/tags/2.1.0/09-01-bookVisit-integ-test": {
    "value": "924e9e9dc14c4697dc342ed167bacc42def7ca4f"
  },
  "refs/tags/tags/2.1.0/09-02-adds-visit-fixture": {
    "value": "002ae6e43b8122129e9f9acb05160a0005fa476f"
  },
  "refs/tags/tags/3.0.0/01-01-starter-app": {
    "value": "86f65354bcb674609e00902b2835bd71536243c5"
  },
  "refs/tags/tags/3.0.0/02-01-copies-SimpleObject-to-PetOwner": {
    "value": "e09616880be53a50bb91dfd62cac296441dd5bfc"
  },
  "refs/tags/tags/3.0.0/02-02-configure-the-app-to-include-petowner": {
    "value": "33b616502bd97ddafe24b9a14d10fc9e4f10ba09"
  },
  "refs/tags/tags/3.0.0/02-03-add-security-role-for-petowner": {
    "value": "8a85e4f0208b4c8bbd9b35bd9c4386839a28a1ae"
  },
  "refs/tags/tags/3.0.0/02-04-update-menubar-for-petowners": {
    "value": "19e36d5dc844275a8cc375a4bc1f1c862df6612a"
  },
  "refs/tags/tags/3.0.0/02-05-setup-demo-petowners": {
    "value": "8cf9ab4f6078984b409cebc8dd3faaa1d102bfef"
  },
  "refs/tags/tags/3.0.0/03-01-adds-PetOwner-knownAs-property": {
    "value": "fba3e09bfc6f2a5b54883621e9b9766f6e568372"
  },
  "refs/tags/tags/3.0.0/03-02-define-PetOwner-title-imperatively": {
    "value": "6d74908351c16165a13242c5b8dc80cea0bd6d13"
  },
  "refs/tags/tags/3.0.0/03-03-remaining-PetOwner-properties": {
    "value": "ad3879782defc3c12f34e6ea3f8e30e69dc4bdec"
  },
  "refs/tags/tags/3.0.0/03-04-list-new-properties-of-PetOwner": {
    "value": "4ea505c8419b63a3b4bef7e71fec6ef4b2c4feed"
  },
  "refs/tags/tags/3.0.0/03-05-initial-fixture-script": {
    "value": "5af86037d0a2f2a4bf57a6639ad117537532b780"
  },
  "refs/tags/tags/3.0.0/03-06-update-home-page-to-show-pet-owners": {
    "value": "d898994e82d7844b6c6f05e031ae8f79f37a001e"
  },
  "refs/tags/tags/3.0.0/03-07-modifies-PetOwners-create-action": {
    "value": "a4e74c778e28bca0d7dddf9d3df16f4a40049cb5"
  },
  "refs/tags/tags/3.0.0/03-08-prompt-styles": {
    "value": "17585156c0c1b1cbcb6eb6c17a36090c651b0e9c"
  },
  "refs/tags/tags/3.0.0/03-09-derived-days-since-last-visit-property": {
    "value": "8c3313e14d47aac7f908b40c63abea7d029e84da"
  },
  "refs/tags/tags/3.0.0/03-10-use-meta-annotations-to-reduce-duplication": {
    "value": "e79ef04a49a01fe15e405ebc15d32b55d25f56c6"
  },
  "refs/tags/tags/3.0.0/03-11-validation-rules-using-metaannotations": {
    "value": "bbacbed21e620b3daf7f09e8232650076622cd80"
  },
  "refs/tags/tags/3.0.0/03-12-moves-validation-onto-metaannotation": {
    "value": "fcd2d58c0064c16c26d7c1c6d2e4b2960b41ab4f"
  },
  "refs/tags/tags/3.0.0/03-13-scalar-custom-value-type-for-email-address": {
    "value": "126a34b3585909b3c43a768416ae66a9601b207f"
  },
  "refs/tags/tags/3.0.0/03-14-use-layout-xml-for-ui-semantics": {
    "value": "a5876486b3616926fe19cd6d5ffee413ed48718c"
  },
  "refs/tags/tags/3.0.0/03-15-change-pet-owner-icon-png": {
    "value": "644b48822d319db15ca11c216936fd1aa0b12137"
  },
  "refs/tags/tags/3.0.0/04-01-pet-entity-key-properties": {
    "value": "63ec793f103db9ee0003aeb4d93b7a8acf443f08"
  },
  "refs/tags/tags/3.0.0/04-02-pet-ui-and-layout-semantics": {
    "value": "24fdabeb3c343d1358661ebdd74e1a3cb9b30215"
  },
  "refs/tags/tags/3.0.0/04-03-PetOwner-pets-collection": {
    "value": "c65793c7aec057b973a256db9409454cad274db1"
  },
  "refs/tags/tags/3.0.0/04-04-add-remove-pets": {
    "value": "d0192821b3c5d849c9f72bd465fbcd5ce7f8ba99"
  },
  "refs/tags/tags/3.0.0/04-05-extend-fixture-data-to-add-in-pets": {
    "value": "ef2fc43350b9c8f0becf403698de96a774b075f1"
  },
  "refs/tags/tags/3.0.0/04-06-unique-pet-names-validation": {
    "value": "974d7f3b6aed0ce7b061c82ed7482942fee0e1ad"
  },
  "refs/tags/tags/3.0.0/04-07-pet-remaining-properties": {
    "value": "5f6c9332381ddb2bf4502b75a57b86e5d94935fc"
  },
  "refs/tags/tags/3.0.0/04-08-dynamic-icons": {
    "value": "f6c3763ceb1dad9e2e593f45c40e9a8c40cc15ee"
  },
  "refs/tags/tags/3.0.0/05-01-visit-module": {
    "value": "b02e4438a94492a716253d783e80c228872f62df"
  },
  "refs/tags/tags/3.0.0/05-02-visit-module-dependencies": {
    "value": "be685d5acdb3c4de2d217a172ac15c79a071f540"
  },
  "refs/tags/tags/3.0.0/05-03-visit-entity-key-properties": {
    "value": "840c481f664d217177a14e188534f97e17d5da97"
  },
  "refs/tags/tags/3.0.0/05-04-book-visit-action": {
    "value": "250f836b8853c5e252a41738644d0ead764b0f17"
  },
  "refs/tags/tags/3.0.0/06-01-unit-test-bookVisit-default-time": {
    "value": "b87304e52ce5831e9f068a03229cc62ceec88744"
  },
  "refs/tags/tags/3.0.0/07-01-delete-action-events": {
    "value": "27c6123783e9dc0a30458b9ccf9e31612a4b168b"
  },
  "refs/tags/tags/3.0.0/08-01-home-page-additional-collections": {
    "value": "46e96c777a6f78478841cf179e257b62efef02e1"
  },
  "refs/tags/tags/3.0.0/08-02-home-page-bookVisit-convenience-action": {
    "value": "5702ed6c89ef978a784c472942b743ccebfd5563"
  },
  "refs/tags/tags/3.0.0/09-01-bookVisit-integ-test": {
    "value": "fbc171aff4f4e936e1b7935ac4dd46191b89eacd"
  },
  "refs/tags/tags/3.0.0/09-02-adds-visit-fixture": {
    "value": "3955d227160e37dbce6a581188fbf5785707a3e6"
  },
  "refs/tags/tags/3.1.0/01-01-starter-app": {
    "value": "37bcedbf514976a5c591dc39b9871c05ae4ce865"
  },
  "refs/tags/tags/3.1.0/02-01-copies-SimpleObject-to-PetOwner": {
    "value": "7a3c8b4ea44306be3f60d91aa8893d09850c5144"
  },
  "refs/tags/tags/3.1.0/02-02-configure-the-app-to-include-petowner": {
    "value": "330c1891a4800b2622aa4db3d25846aa46f71022"
  },
  "refs/tags/tags/3.1.0/02-03-add-security-role-for-petowner": {
    "value": "fbd6d959dd2cc5b165b9454a2c1a3724582e829b"
  },
  "refs/tags/tags/3.1.0/02-04-update-menubar-for-petowners": {
    "value": "1f7a1e7b1d4dce5cec2c32f3bfbe72447dc8b118"
  },
  "refs/tags/tags/3.1.0/02-05-setup-demo-petowners": {
    "value": "a88f9722fa765b60da6654b5cc48991a21f14991"
  },
  "refs/tags/tags/3.1.0/03-01-adds-PetOwner-knownAs-property": {
    "value": "ba167d0a9cae069e35feac0c3d8d1f9dc1cd6528"
  },
  "refs/tags/tags/3.1.0/03-02-define-PetOwner-title-imperatively": {
    "value": "effa2385d3e62b9a5cf44fca1b1931e356d74dd1"
  },
  "refs/tags/tags/3.1.0/03-03-remaining-PetOwner-properties": {
    "value": "44582b6385c36f157b81f0a2c25b5930bd2b704e"
  },
  "refs/tags/tags/3.1.0/03-04-list-new-properties-of-PetOwner": {
    "value": "72728159691cf68d741e3f9ef3cc177879de69aa"
  },
  "refs/tags/tags/3.1.0/03-05-initial-fixture-script": {
    "value": "2c9dd8f40ab38d354c3e80d83402bedab840a2d5"
  },
  "refs/tags/tags/3.1.0/03-06-update-home-page-to-show-pet-owners": {
    "value": "4441a536c8978d2844437d16394c2b579eb83cbf"
  },
  "refs/tags/tags/3.1.0/03-07-modifies-PetOwners-create-action": {
    "value": "d005d103e54e67c4e125eb13dde7db7e21fe9f8e"
  },
  "refs/tags/tags/3.1.0/03-08-prompt-styles": {
    "value": "bf2416bbc20851680b41f25c443ada2367c4bb78"
  },
  "refs/tags/tags/3.1.0/03-09-derived-days-since-last-visit-property": {
    "value": "6e14ae761bdfe6fc0715e5e9209fd6f6d2896ae6"
  },
  "refs/tags/tags/3.1.0/03-10-use-meta-annotations-to-reduce-duplication": {
    "value": "faf1ea2d5d4109fcb224281ba5a990d2b8a76b1d"
  },
  "refs/tags/tags/3.1.0/03-11-validation-rules-using-metaannotations": {
    "value": "7d7cd0d8d8756676365c996de9f5a3122f9dd684"
  },
  "refs/tags/tags/3.1.0/03-12-moves-validation-onto-metaannotation": {
    "value": "a1a26ae62b343189f6f6b2150031f45ba7c87203"
  },
  "refs/tags/tags/3.1.0/03-13-scalar-custom-value-type-for-email-address": {
    "value": "4c69ea7cd084b80ec52f37f7e1ab3ad939d2bc0f"
  },
  "refs/tags/tags/3.1.0/03-14-use-layout-xml-for-ui-semantics": {
    "value": "590eb8e80683ea0ba58d5f101b5f3d4bab8b0ddc"
  },
  "refs/tags/tags/3.1.0/03-15-change-pet-owner-icon-png": {
    "value": "3eae4c90adc9745478ed87ce676ddfbb14684887"
  },
  "refs/tags/tags/3.1.0/04-01-pet-entity-key-properties": {
    "value": "6de5f7f17d4fd347a5c895eb66f04251570240cc"
  },
  "refs/tags/tags/3.1.0/04-02-pet-ui-and-layout-semantics": {
    "value": "95c732cfd6217a3a1bfff819840e5d82943118c2"
  },
  "refs/tags/tags/3.1.0/04-03-PetOwner-pets-collection": {
    "value": "fbdd305c9f9b992c166034fe7cac2e530301a1b6"
  },
  "refs/tags/tags/3.1.0/04-04-add-remove-pets": {
    "value": "fd5aebb12bbeed92d9e94bcbe4b7fd9616a165ff"
  },
  "refs/tags/tags/3.1.0/04-05-extend-fixture-data-to-add-in-pets": {
    "value": "3b5e34e7defbb20ad042f6a880100d72ea861573"
  },
  "refs/tags/tags/3.1.0/04-06-unique-pet-names-validation": {
    "value": "4b94bae06635c956452b89f8f7c59b6dd579848b"
  },
  "refs/tags/tags/3.1.0/04-07-pet-remaining-properties": {
    "value": "6a07febb38402dd77682c61dad84d7e1fce5fac0"
  },
  "refs/tags/tags/3.1.0/04-08-dynamic-icons": {
    "value": "6cf5a1cc85da2cb26b8ec5b8b0be216f86ada9f6"
  },
  "refs/tags/tags/3.1.0/05-01-visit-module": {
    "value": "b6952cf6d9c7d0b495f3290a5d1ed0ff8de17b7a"
  },
  "refs/tags/tags/3.1.0/05-02-visit-module-dependencies": {
    "value": "553fd1c838ad4ebdb35477ea6ab0c36207377832"
  },
  "refs/tags/tags/3.1.0/05-03-visit-entity-key-properties": {
    "value": "fe3206313674e269c7dc75a1cf311d3b6d49bf3b"
  },
  "refs/tags/tags/3.1.0/05-04-book-visit-action": {
    "value": "794a4697b8169d169fcf89174843c7d926c9d1b0"
  },
  "refs/tags/tags/3.1.0/06-01-unit-test-bookVisit-default-time": {
    "value": "402b6df72db183a348c8a1fa761c2dffe78492f8"
  },
  "refs/tags/tags/3.1.0/07-01-delete-action-events": {
    "value": "b216a29e9329d5cefadfa2658e9e2c1c41fb2cd1"
  },
  "refs/tags/tags/3.1.0/08-01-home-page-additional-collections": {
    "value": "fbdd4f4df6adc60a6695cb71d8e0c86e6fe8c6d1"
  },
  "refs/tags/tags/3.1.0/08-02-home-page-bookVisit-convenience-action": {
    "value": "47fcee2e132c794c25cea075d1ffe231125f6b41"
  },
  "refs/tags/tags/3.1.0/09-01-bookVisit-integ-test": {
    "value": "1b48a5fe3952815730a1e95945c375e9d4055f2d"
  },
  "refs/tags/tags/3.1.0/09-02-adds-visit-fixture": {
    "value": "fe881dd8afbfc94dd08e42f5ed9a2163a0c377a4"
  },
  "refs/tags/tags/3.2.0/01-01-starter-app": {
    "value": "8c62f1c891e5821348e947b89bcd4a8dee28961f"
  },
  "refs/tags/tags/3.2.0/02-01-copies-SimpleObject-to-PetOwner": {
    "value": "adfe9b5b42d9337041d41fe02ccbf91adccb6802"
  },
  "refs/tags/tags/3.2.0/02-02-configure-the-app-to-include-petowner": {
    "value": "679570a9dabd4af7fdac448a52aee50688efa405"
  },
  "refs/tags/tags/3.2.0/02-03-add-security-role-for-petowner": {
    "value": "f71e39fd11a1a121cafea6656b3a26a3360fc0e7"
  },
  "refs/tags/tags/3.2.0/02-04-update-menubar-for-petowners": {
    "value": "55ec4c265d2ef750d8dc31fdb0b7e15c5c5fd569"
  },
  "refs/tags/tags/3.2.0/02-05-setup-demo-petowners": {
    "value": "415c0238f5172976a313edbe2811c5e59f584625"
  },
  "refs/tags/tags/3.2.0/03-01-adds-PetOwner-knownAs-property": {
    "value": "03eaa4eb2d23a2974b9addf81dbefd978687c3f1"
  },
  "refs/tags/tags/3.2.0/03-02-define-PetOwner-title-imperatively": {
    "value": "b8809394acc2b5b963cda5a18afac250f8883939"
  },
  "refs/tags/tags/3.2.0/03-03-remaining-PetOwner-properties": {
    "value": "3a3c5989795cb7806882729ef0dc62a3425ff5c1"
  },
  "refs/tags/tags/3.2.0/03-04-list-new-properties-of-PetOwner": {
    "value": "cd18f62a6f52ff9631c2e5bbc808fc8b00d9ed7d"
  },
  "refs/tags/tags/3.2.0/03-05-initial-fixture-script": {
    "value": "6eda03b92f8b603066338f9dbfd690ab5a1895fe"
  },
  "refs/tags/tags/3.2.0/03-06-update-home-page-to-show-pet-owners": {
    "value": "af74bda5f55e71f7f8c0b0ff0cc0b10e476b2833"
  },
  "refs/tags/tags/3.2.0/03-07-modifies-PetOwners-create-action": {
    "value": "f45fdc4e6190211bcb8f856d787781632791e48a"
  },
  "refs/tags/tags/3.2.0/03-08-prompt-styles": {
    "value": "01467b77e789b949dff37abb525a21d188a57335"
  },
  "refs/tags/tags/3.2.0/03-09-derived-days-since-last-visit-property": {
    "value": "2571e3e9d2f5a21a2266881dcdc8e546f657c47d"
  },
  "refs/tags/tags/3.2.0/03-10-use-meta-annotations-to-reduce-duplication": {
    "value": "df08807201e25a8909e9f17921bdea5c9b7c9636"
  },
  "refs/tags/tags/3.2.0/03-11-validation-rules-using-metaannotations": {
    "value": "80554c1932f34bae2963a5d4f4eed1c2e97ace0b"
  },
  "refs/tags/tags/3.2.0/03-12-moves-validation-onto-metaannotation": {
    "value": "de6b178f5b9bcf9cc918217029e886302792f1f2"
  },
  "refs/tags/tags/3.2.0/03-13-scalar-custom-value-type-for-email-address": {
    "value": "946ad1fed56c624bdf21046127d1fdf0124e9cb4"
  },
  "refs/tags/tags/3.2.0/03-14-use-layout-xml-for-ui-semantics": {
    "value": "777c0584113c73d83849e43be08273c8116fc541"
  },
  "refs/tags/tags/3.2.0/03-15-change-pet-owner-icon-png": {
    "value": "2c2a1f29b05a8c49ca7753918abe58a8cc350f61"
  },
  "refs/tags/tags/3.2.0/04-01-pet-entity-key-properties": {
    "value": "6b8f88e0d3e1d79ca4c6f920fbffba8486ed587f"
  },
  "refs/tags/tags/3.2.0/04-02-pet-ui-and-layout-semantics": {
    "value": "f755800fe3d515b98fead4eb34dbf3a9361dfedc"
  },
  "refs/tags/tags/3.2.0/04-03-PetOwner-pets-collection": {
    "value": "2ca15a815347bd6ddfc23309caba892f3f448be0"
  },
  "refs/tags/tags/3.2.0/04-04-add-remove-pets": {
    "value": "2cf567ee69d0e0902227bc4fc81eefce0da35afb"
  },
  "refs/tags/tags/3.2.0/04-05-extend-fixture-data-to-add-in-pets": {
    "value": "97a7d83d74e3c910e0a7c6fb3a386ad757edeac5"
  },
  "refs/tags/tags/3.2.0/04-06-unique-pet-names-validation": {
    "value": "22948f9e804cc6a0f0e68e3ce2469c3e4574b5af"
  },
  "refs/tags/tags/3.2.0/04-07-pet-remaining-properties": {
    "value": "bf72f8eb4f3d1183f1778b9ba879bf19745c5e16"
  },
  "refs/tags/tags/3.2.0/04-08-dynamic-icons": {
    "value": "c03836cc37c7726f2df8e21b0287c35e15e2b691"
  },
  "refs/tags/tags/3.2.0/05-01-visit-module": {
    "value": "3cd9e5976d13513a4b2df065995fa2791f8d6b61"
  },
  "refs/tags/tags/3.2.0/05-02-visit-module-dependencies": {
    "value": "893f7408b1fdbd474168a83e5237da14f1c880d4"
  },
  "refs/tags/tags/3.2.0/05-03-visit-entity-key-properties": {
    "value": "666532a9ca464858e6242453ee18c9c09d5fd22f"
  },
  "refs/tags/tags/3.2.0/05-04-book-visit-action": {
    "value": "60e8c99b77fa84a4276ebaf838ea49342ea066f5"
  },
  "refs/tags/tags/3.2.0/06-01-unit-test-bookVisit-default-time": {
    "value": "2f16c7c3c919b457dab0c6db720c772c8e5ddb06"
  },
  "refs/tags/tags/3.2.0/07-01-delete-action-events": {
    "value": "42ba1ee62531bcb992a1c012c35615244dd2872c"
  },
  "refs/tags/tags/3.2.0/08-01-home-page-additional-collections": {
    "value": "e2281e9d56eeee59f7fe352cfeb7782d7e601012"
  },
  "refs/tags/tags/3.2.0/08-02-home-page-bookVisit-convenience-action": {
    "value": "549b1ad36dda875a7a6ba0490e254bc03e4beab2"
  },
  "refs/tags/tags/3.2.0/09-01-bookVisit-integ-test": {
    "value": "b149a2419abf359ebfad842331c39706e5bd99ab"
  },
  "refs/tags/tags/3.2.0/09-02-adds-visit-fixture": {
    "value": "6406bf5904450e36a0aba3f21e0bca4b4f7351b0"
  },
  "refs/tags/tags/3.3.0/01-01-starter-app": {
    "value": "2a7d5ad114a94e3d23c4071e89b916698a6fbb85"
  },
  "refs/tags/tags/3.3.0/02-01-copies-SimpleObject-to-PetOwner": {
    "value": "8030e076d0f960a14ab65d6c1953a98f6c8c8708"
  },
  "refs/tags/tags/3.3.0/02-02-configure-the-app-to-include-petowner": {
    "value": "da2620917cf7fa33eecd5fb53f8c3c453c0aaaa0"
  },
  "refs/tags/tags/3.3.0/02-03-add-security-role-for-petowner": {
    "value": "148e16c5f54fa308e635ca20cd7941a63a502043"
  },
  "refs/tags/tags/3.3.0/02-04-update-menubar-for-petowners": {
    "value": "85d4621a190171b9e57f313492b8f5c86cf5cc29"
  },
  "refs/tags/tags/3.3.0/02-05-setup-demo-petowners": {
    "value": "acafb7149195d2f303a54fe0df35e468337892a4"
  },
  "refs/tags/tags/3.3.0/03-01-adds-PetOwner-knownAs-property": {
    "value": "901a8c336ad361830ad147ec04118a7ee91049cc"
  },
  "refs/tags/tags/3.3.0/03-02-define-PetOwner-title-imperatively": {
    "value": "93a6c86444388f5d423d3d3f68e4011facd327d0"
  },
  "refs/tags/tags/3.3.0/03-03-remaining-PetOwner-properties": {
    "value": "ad9c772f6b3a60238659d6f03dc2903317081e88"
  },
  "refs/tags/tags/3.3.0/03-04-list-new-properties-of-PetOwner": {
    "value": "3e54df9b02ca3f3341a6be1f67fd205ecd236ffe"
  },
  "refs/tags/tags/3.3.0/03-05-initial-fixture-script": {
    "value": "5945444f5ff90bd04d5470f8f6585a25e1229984"
  },
  "refs/tags/tags/3.3.0/03-06-update-home-page-to-show-pet-owners": {
    "value": "4efbac1a0be9f640694ed114458eb258e2de1cc4"
  },
  "refs/tags/tags/3.3.0/03-07-modifies-PetOwners-create-action": {
    "value": "7b55fa5fcc8286935d31fdca02c744e2c5c16d2f"
  },
  "refs/tags/tags/3.3.0/03-08-prompt-styles": {
    "value": "49d0d06573d8c0ae55c1766de2f1584a43c838cf"
  },
  "refs/tags/tags/3.3.0/03-09-derived-days-since-last-visit-property": {
    "value": "bd7b64389e309ad47fae015969e405819693691b"
  },
  "refs/tags/tags/3.3.0/03-10-use-meta-annotations-to-reduce-duplication": {
    "value": "5f1c10f8075a50e94d944a908ba7c120f3ee6d3f"
  },
  "refs/tags/tags/3.3.0/03-11-validation-rules-using-metaannotations": {
    "value": "8be749ae2a28885b93862df5172a61e0f08afc6b"
  },
  "refs/tags/tags/3.3.0/03-12-moves-validation-onto-metaannotation": {
    "value": "166b6d512cf374e25d00c8e3c7d74b46ed7ed372"
  },
  "refs/tags/tags/3.3.0/03-13-scalar-custom-value-type-for-email-address": {
    "value": "433458501928b0b333335fbcc198c6ac9a944dc3"
  },
  "refs/tags/tags/3.3.0/03-14-use-layout-xml-for-ui-semantics": {
    "value": "a059dc8d475fa853c3b349599827248c710c2aaf"
  },
  "refs/tags/tags/3.3.0/03-15-change-pet-owner-icon-png": {
    "value": "a75bc7fd0e6d015d6bf3a8444b4fcfc748dd2ceb"
  },
  "refs/tags/tags/3.3.0/04-01-pet-entity-key-properties": {
    "value": "5f0ca9c9edcd6cb9ef8a29e578214cc92d64ee4f"
  },
  "refs/tags/tags/3.3.0/04-02-pet-ui-and-layout-semantics": {
    "value": "263ad462682e5c7cca3984dd1c8fa9df98ab4c1c"
  },
  "refs/tags/tags/3.3.0/04-03-PetOwner-pets-collection": {
    "value": "5e9027335c22c1607c24b4a43f29c7c7cb928dc4"
  },
  "refs/tags/tags/3.3.0/04-04-add-remove-pets": {
    "value": "78effbb00a5b962e0a6ecb55463ed639e5d1016c"
  },
  "refs/tags/tags/3.3.0/04-05-extend-fixture-data-to-add-in-pets": {
    "value": "da5fe995c706696ecf4606326a7be28b0ae232a7"
  },
  "refs/tags/tags/3.3.0/04-06-unique-pet-names-validation": {
    "value": "68b15d4accc5ab04fc44903103dc260a851d0413"
  },
  "refs/tags/tags/3.3.0/04-07-pet-remaining-properties": {
    "value": "8aef4d0cac30d79ea8cae9045e27b61f0e1f4fc0"
  },
  "refs/tags/tags/3.3.0/04-08-dynamic-icons": {
    "value": "e1a47ccd69f8bf06eacc65671fa58fa40fabda18"
  },
  "refs/tags/tags/3.3.0/05-01-visit-module": {
    "value": "a655d7b960fae53dd7cf7186acc394f7629b6cfb"
  },
  "refs/tags/tags/3.3.0/05-02-visit-module-dependencies": {
    "value": "15c69638c8338576de3d71bb6cc495454ff34cbb"
  },
  "refs/tags/tags/3.3.0/05-03-visit-entity-key-properties": {
    "value": "021ed162e836a0c02bdf7e4f53adf61f251da6c3"
  },
  "refs/tags/tags/3.3.0/05-04-book-visit-action": {
    "value": "3d56cc1df3355c08efebbf60b8d36cecd48d747b"
  },
  "refs/tags/tags/3.3.0/06-01-unit-test-bookVisit-default-time": {
    "value": "7edb8b1d56fe875dfe5cd47d38ba2d1132447885"
  },
  "refs/tags/tags/3.3.0/07-01-delete-action-events": {
    "value": "5d7c46f854f48c967426051395f73680e8ec0ad1"
  },
  "refs/tags/tags/3.3.0/08-01-home-page-additional-collections": {
    "value": "e461bde15c26f48cf518e04bf609087936ceadeb"
  },
  "refs/tags/tags/3.3.0/08-02-home-page-bookVisit-convenience-action": {
    "value": "64137dca400f38298b4a3f9a6eb6caf5327f3ef5"
  },
  "refs/tags/tags/3.3.0/09-01-bookVisit-integ-test": {
    "value": "7a5b75f9f3d5629de306df16b665cab1a4164667"
  },
  "refs/tags/tags/3.3.0/09-02-adds-visit-fixture": {
    "value": "561682974181d0a86ecd678c69d9f2360708d336"
  },
  "refs/tags/tags/3.4.0/01-01-starter-app": {
    "value": "e9057d4d3840431154a454014c3636ba056aadad"
  },
  "refs/tags/tags/3.4.0/02-01-copies-SimpleObject-to-PetOwner": {
    "value": "2619f3fe1ad935f93db9dc314069f87f5c8fd887"
  },
  "refs/tags/tags/3.4.0/02-02-configure-the-app-to-include-petowner": {
    "value": "d26803a0756d2b839d5056d29b4f057cdb9f1197"
  },
  "refs/tags/tags/3.4.0/02-03-add-security-role-for-petowner": {
    "value": "e36521012313f93c06dd6293da979736c164e9a8"
  },
  "refs/tags/tags/3.4.0/02-04-update-menubar-for-petowners": {
    "value": "75deff62c5c396856e89fd68b42b42eea1311256"
  },
  "refs/tags/tags/3.4.0/02-05-setup-demo-petowners": {
    "value": "3955b69e461c396a7ee30d160b3f276fd6dcbf26"
  },
  "refs/tags/tags/3.4.0/03-01-adds-PetOwner-knownAs-property": {
    "value": "3b38d1fc9de84af4d497db531ef5fb72021298b8"
  },
  "refs/tags/tags/3.4.0/03-02-define-PetOwner-title-imperatively": {
    "value": "ebefda6d99f110b4349ab11cbf7b7a82368a27b4"
  },
  "refs/tags/tags/3.4.0/03-03-remaining-PetOwner-properties": {
    "value": "613467aeef864368b8fc0f3244cca23cea906c97"
  },
  "refs/tags/tags/3.4.0/03-04-list-new-properties-of-PetOwner": {
    "value": "19d3eb76926487e4db4f52300d4667b9364e1075"
  },
  "refs/tags/tags/3.4.0/03-05-initial-fixture-script": {
    "value": "08cafab8eb646ec09ab743a09f53329ea13345a8"
  },
  "refs/tags/tags/3.4.0/03-06-update-home-page-to-show-pet-owners": {
    "value": "ea27fa7a9cd7c424640660ae65cc851a9a411edc"
  },
  "refs/tags/tags/3.4.0/03-07-modifies-PetOwners-create-action": {
    "value": "f20cfbe5ec9e5d3c5b4205c7cdd5e5ed31672d98"
  },
  "refs/tags/tags/3.4.0/03-08-prompt-styles": {
    "value": "a8bc9e5b72e3dde800d2a41779aeb94b739b638e"
  },
  "refs/tags/tags/3.4.0/03-09-derived-days-since-last-visit-property": {
    "value": "434e2633f90cf9837eba4f860c321c9dc509cf7d"
  },
  "refs/tags/tags/3.4.0/03-10-use-meta-annotations-to-reduce-duplication": {
    "value": "d89f8beccdf6bc1770476101772f4a3639b242ae"
  },
  "refs/tags/tags/3.4.0/03-11-validation-rules-using-metaannotations": {
    "value": "aa07d005fd458bbbf11c3dfa0c36676eb179908f"
  },
  "refs/tags/tags/3.4.0/03-12-moves-validation-onto-metaannotation": {
    "value": "6fb6345520b059a72b836e6bd0f78ad87748e6b1"
  },
  "refs/tags/tags/3.4.0/03-13-scalar-custom-value-type-for-email-address": {
    "value": "0523d68a92e87e04674d57ea2a24dcf79db3c72b"
  },
  "refs/tags/tags/3.4.0/03-14-use-layout-xml-for-ui-semantics": {
    "value": "d86887f9c0d6b4f7f5bb546a75dc5ec2cac228e0"
  },
  "refs/tags/tags/3.4.0/03-15-change-pet-owner-icon-png": {
    "value": "f502251fb1cc65bcf616c6c620a3da36625a6c10"
  },
  "refs/tags/tags/3.4.0/04-01-pet-entity-key-properties": {
    "value": "6c01a20ed6f1f99ea1be8c9f93d0862a5de7c8cc"
  },
  "refs/tags/tags/3.4.0/04-02-pet-ui-and-layout-semantics": {
    "value": "440d15add8325dd40de1ce97835201417c1dc79f"
  },
  "refs/tags/tags/3.4.0/04-03-PetOwner-pets-collection": {
    "value": "6b730cdad57e3252c5c88a9dae50d4c9dfeded2b"
  },
  "refs/tags/tags/3.4.0/04-04-add-remove-pets": {
    "value": "9ea349cbabe1d61b434dc8f83b91228d30683ca5"
  },
  "refs/tags/tags/3.4.0/04-05-extend-fixture-data-to-add-in-pets": {
    "value": "276a8701def951bdda60ea663d2211fb4363e9b7"
  },
  "refs/tags/tags/3.4.0/04-06-unique-pet-names-validation": {
    "value": "7f9a0e7d7a39858cad7d5458e6f35188093124e5"
  },
  "refs/tags/tags/3.4.0/04-07-pet-remaining-properties": {
    "value": "d241a8c153bf4cb8b7c1b306339f785de9f084a1"
  },
  "refs/tags/tags/3.4.0/04-08-dynamic-icons": {
    "value": "3d1be2ebc4c429a9fcc13b8efc099818970fb411"
  },
  "refs/tags/tags/3.4.0/05-01-visit-module": {
    "value": "2d945194203222bbf45e1cc77ac7952ec22df338"
  },
  "refs/tags/tags/3.4.0/05-02-visit-module-dependencies": {
    "value": "70df4bcfdedf6a8ef6cc5e02201e273b53871fa0"
  },
  "refs/tags/tags/3.4.0/05-03-visit-entity-key-properties": {
    "value": "4093d9e0fb7a2770e9391c2cdd1d95b8c480dc1a"
  },
  "refs/tags/tags/3.4.0/05-04-book-visit-action": {
    "value": "22170c5f2c7d2d0539919bdf0126efe5336ef828"
  },
  "refs/tags/tags/3.4.0/06-01-unit-test-bookVisit-default-time": {
    "value": "c68b02230b062dd43bab5b2756aea13d0697b543"
  },
  "refs/tags/tags/3.4.0/07-01-delete-action-events": {
    "value": "6010a2b8979fce329baf16e0aab5977fef547683"
  },
  "refs/tags/tags/3.4.0/08-01-home-page-additional-collections": {
    "value": "dd5b29086348c532c98b8335b2f21eede71d7e09"
  },
  "refs/tags/tags/3.4.0/08-02-home-page-bookVisit-convenience-action": {
    "value": "f350a79e57a4e0c21e7b3950651f9bd34e2cac82"
  },
  "refs/tags/tags/3.4.0/09-01-bookVisit-integ-test": {
    "value": "71ff53ecbedd0dfad9bd8fe5125aa4b9bb91684d"
  },
  "refs/tags/tags/3.4.0/09-02-adds-visit-fixture": {
    "value": "2e8bba190e2eb639dd55f1c53a378c4bac0b439c"
  },
  "refs/tags/tags/3.5.0/01-01-starter-app": {
    "value": "2f53d198d1dfb661c6f867f2bd67b41741ff2952"
  },
  "refs/tags/tags/3.5.0/02-01-copies-SimpleObject-to-PetOwner": {
    "value": "a98b42d838457bf6a4eb8822dc1e51bcd67f0a16"
  },
  "refs/tags/tags/3.5.0/02-02-configure-the-app-to-include-petowner": {
    "value": "ffc043076a0407674486b941403503ed431c3f9e"
  },
  "refs/tags/tags/3.5.0/02-03-add-security-role-for-petowner": {
    "value": "197800cec9327d856e58a65b4bb797195ac25984"
  },
  "refs/tags/tags/3.5.0/02-04-update-menubar-for-petowners": {
    "value": "3e0a452e3f95e7db4454d6fcb8473c3f849ce992"
  },
  "refs/tags/tags/3.5.0/02-05-setup-demo-petowners": {
    "value": "64b9eb3ca3fabf84d21114c0bb55e2b21332a5d5"
  },
  "refs/tags/tags/3.5.0/03-01-adds-PetOwner-knownAs-property": {
    "value": "522aceb52e0df4d7f2700d45945ea35d72584fce"
  },
  "refs/tags/tags/3.5.0/03-02-define-PetOwner-title-imperatively": {
    "value": "31b947354335aa8e6f9b869ce322a36e0f6fb82f"
  },
  "refs/tags/tags/3.5.0/03-03-remaining-PetOwner-properties": {
    "value": "918b44dae8c6d0de48ad94622455d8d7f573e670"
  },
  "refs/tags/tags/3.5.0/03-04-list-new-properties-of-PetOwner": {
    "value": "29da602c79d01570c12cc37a1839838e0191504c"
  },
  "refs/tags/tags/3.5.0/03-05-initial-fixture-script": {
    "value": "96dcfb2491710c80b7c4bde46de9cfb09f50020a"
  },
  "refs/tags/tags/3.5.0/03-06-update-home-page-to-show-pet-owners": {
    "value": "f4c5074b7368c884ccdba4ce00742c2d818d430b"
  },
  "refs/tags/tags/3.5.0/03-07-modifies-PetOwners-create-action": {
    "value": "3102a20e56c69ecdf3980efc6cd4cd5307121427"
  },
  "refs/tags/tags/3.5.0/03-08-prompt-styles": {
    "value": "783b02cdbecab21a962d612f61effa83bbcebc14"
  },
  "refs/tags/tags/3.5.0/03-09-derived-days-since-last-visit-property": {
    "value": "de6f192809aed81c2489402205c02a85c8c8c8ba"
  },
  "refs/tags/tags/3.5.0/03-10-use-meta-annotations-to-reduce-duplication": {
    "value": "4cb06c43d4222d6599d57409231ce96c38ae9277"
  },
  "refs/tags/tags/3.5.0/03-11-validation-rules-using-metaannotations": {
    "value": "22c15413ead6d248f77047b83ad50fa8edba75ab"
  },
  "refs/tags/tags/3.5.0/03-12-moves-validation-onto-metaannotation": {
    "value": "adf597d344b374ea7aa3dab2e846274eb6b2db6b"
  },
  "refs/tags/tags/3.5.0/03-13-scalar-custom-value-type-for-email-address": {
    "value": "0d088531282e6ef2f0f12c213c68665766dc341f"
  },
  "refs/tags/tags/3.5.0/03-14-use-layout-xml-for-ui-semantics": {
    "value": "bfc94fdb8ba94ae572169a1366779a557cc2c713"
  },
  "refs/tags/tags/3.5.0/03-15-change-pet-owner-icon-png": {
    "value": "20ee6f1b357b1fe768eb7175bc65adf40e77ecaf"
  },
  "refs/tags/tags/3.5.0/04-01-pet-entity-key-properties": {
    "value": "376261d64025a324c21ff275af376c2174aca889"
  },
  "refs/tags/tags/3.5.0/04-02-pet-ui-and-layout-semantics": {
    "value": "26e165d626325bdcbbd28335bdbcc19b0408c071"
  },
  "refs/tags/tags/3.5.0/04-03-PetOwner-pets-collection": {
    "value": "f99bc1d11523ebd16dd54c447cb41beba6e5c90c"
  },
  "refs/tags/tags/3.5.0/04-04-add-remove-pets": {
    "value": "c2dba850f53dceac4bc9c1a5827e7092b3d2f87a"
  },
  "refs/tags/tags/3.5.0/04-05-extend-fixture-data-to-add-in-pets": {
    "value": "9ddbadcaec6eaad828996ad1f06c63cfeda3055b"
  },
  "refs/tags/tags/3.5.0/04-06-unique-pet-names-validation": {
    "value": "e5b87b77c98d408535a7bc733395beb72a67f815"
  },
  "refs/tags/tags/3.5.0/04-07-pet-remaining-properties": {
    "value": "d20d0a8e03a7f10d36f0d7e6f8a968c3bba80eb1"
  },
  "refs/tags/tags/3.5.0/04-08-dynamic-icons": {
    "value": "7e1948db16885cba00fde39c55e280a9cf0ce24e"
  },
  "refs/tags/tags/3.5.0/05-01-visit-module": {
    "value": "14ada93b9eea051efdcdd8b81c3a65377d0c138c"
  },
  "refs/tags/tags/3.5.0/05-02-visit-module-dependencies": {
    "value": "1ce11b1649e5964ae6a38de1d8cd5d58002a7ee2"
  },
  "refs/tags/tags/3.5.0/05-03-visit-entity-key-properties": {
    "value": "b2af2a9b527b3ce6b3387cc0a7b3439766632bf2"
  },
  "refs/tags/tags/3.5.0/05-04-book-visit-action": {
    "value": "6652746fe7bce9637b52ef3289c0e05fd637fce0"
  },
  "refs/tags/tags/3.5.0/06-01-unit-test-bookVisit-default-time": {
    "value": "e2ad3832b1c6bb9d1c4e81fcc448ba827c4e4b44"
  },
  "refs/tags/tags/3.5.0/07-01-delete-action-events": {
    "value": "b724ee6a59841b8453c7cb7f2d622a2dcdd57554"
  },
  "refs/tags/tags/3.5.0/08-01-home-page-additional-collections": {
    "value": "ccd0b867d23f1eaf76d92daeff597045dddf4c8b"
  },
  "refs/tags/tags/3.5.0/08-02-home-page-bookVisit-convenience-action": {
    "value": "8c3b4e5dcc3687a82f539a7b89e4e5b473ef1e93"
  },
  "refs/tags/tags/3.5.0/09-01-bookVisit-integ-test": {
    "value": "77d3c9ab6f8447982125eb70342069ed63b8490f"
  },
  "refs/tags/tags/3.5.0/09-02-adds-visit-fixture": {
    "value": "9acf11986df3bb2e53f1bb27bbde3c1e0bf49ac6"
  },
  "refs/tags/tags/3.6.0/01-01-starter-app": {
    "value": "e6eaf0a02e81346d6e6bc2c20552cc8a13175b1d"
  },
  "refs/tags/tags/3.6.0/02-01-copies-SimpleObject-to-PetOwner": {
    "value": "e67e46e838c52b6779acc419b7004f9e7118f3f6"
  },
  "refs/tags/tags/3.6.0/02-02-configure-the-app-to-include-petowner": {
    "value": "f5bc12b4a62bd1d8d0e1cfc83c8e083d8341ca87"
  },
  "refs/tags/tags/3.6.0/02-03-add-security-role-for-petowner": {
    "value": "004d56d80d04cf9d32b444168399a81629f6c580"
  },
  "refs/tags/tags/3.6.0/02-04-update-menubar-for-petowners": {
    "value": "431131b8e9ccf11af23dbe7652f26baecca9c2c0"
  },
  "refs/tags/tags/3.6.0/02-05-setup-demo-petowners": {
    "value": "4f9bda86d5c1281772507faea19817b2e06a7afb"
  },
  "refs/tags/tags/3.6.0/03-01-adds-PetOwner-knownAs-property": {
    "value": "8e9516d390831c0f6391b4454690617195c61669"
  },
  "refs/tags/tags/3.6.0/03-02-define-PetOwner-title-imperatively": {
    "value": "0eb760b5efa8ab992567c47d5aab74bd81b5030a"
  },
  "refs/tags/tags/3.6.0/03-03-remaining-PetOwner-properties": {
    "value": "136b1ecefc3cc0ad4010cc9ab767be0812188f54"
  },
  "refs/tags/tags/3.6.0/03-04-list-new-properties-of-PetOwner": {
    "value": "7cf9b16f76a8beed7b9e40e6dcd57097ea57c3fd"
  },
  "refs/tags/tags/3.6.0/03-05-initial-fixture-script": {
    "value": "2ccbbcac4e5df88fcd69e88fbb8ad59eea4c85bd"
  },
  "refs/tags/tags/3.6.0/03-06-update-home-page-to-show-pet-owners": {
    "value": "f80c118da5b70a7c81e4a3a807729c3ee92a5b45"
  },
  "refs/tags/tags/3.6.0/03-07-modifies-PetOwners-create-action": {
    "value": "61f8fd12c4ad0b6c549b9f90326bfa0d435ca0bf"
  },
  "refs/tags/tags/3.6.0/03-08-prompt-styles": {
    "value": "e601113d1e6f65466306f4219bdaa33e17167329"
  },
  "refs/tags/tags/3.6.0/03-09-derived-days-since-last-visit-property": {
    "value": "0768b3760d0df852ef623d0ac301dd67b9656659"
  },
  "refs/tags/tags/3.6.0/03-10-use-meta-annotations-to-reduce-duplication": {
    "value": "ce5c73a270da10632351c2f8fafad076f1d1d518"
  },
  "refs/tags/tags/3.6.0/03-11-validation-rules-using-metaannotations": {
    "value": "b891318e8a4c1825fbb8572cb346c5da4bb555e7"
  },
  "refs/tags/tags/3.6.0/03-12-moves-validation-onto-metaannotation": {
    "value": "710caa615382d9e9f0826bf79b7a69446fdcd191"
  },
  "refs/tags/tags/3.6.0/03-13-scalar-custom-value-type-for-email-address": {
    "value": "bac9483cdae83848c9fc3c1000ba2c95762aa820"
  },
  "refs/tags/tags/3.6.0/03-14-use-layout-xml-for-ui-semantics": {
    "value": "7404fd886bd90bc98426c127f6ddd0823ce78190"
  },
  "refs/tags/tags/3.6.0/03-15-change-pet-owner-icon-png": {
    "value": "ad8adf5aa4bf91e3205220ffa61e1890ac11db52"
  },
  "refs/tags/tags/3.6.0/04-01-pet-entity-key-properties": {
    "value": "6e9fa6cbd2da1f52a56e0b907df3934ba2ba879d"
  },
  "refs/tags/tags/3.6.0/04-02-pet-ui-and-layout-semantics": {
    "value": "7ecea97ac9a56121b0007ca45879f9fdcb6f77b2"
  },
  "refs/tags/tags/3.6.0/04-03-PetOwner-pets-collection": {
    "value": "a009f2c2296b84284be84a8163f8ca2b31a3deab"
  },
  "refs/tags/tags/3.6.0/04-04-add-remove-pets": {
    "value": "65938ca0380a2f8b58be5e5e1d58e14ae2685486"
  },
  "refs/tags/tags/3.6.0/04-05-extend-fixture-data-to-add-in-pets": {
    "value": "097ce1a84efee36655264f3253c520304794ebfe"
  },
  "refs/tags/tags/3.6.0/04-06-unique-pet-names-validation": {
    "value": "ea4fe001ba8505752577bdcd2dae4458aab7ec0f"
  },
  "refs/tags/tags/3.6.0/04-07-pet-remaining-properties": {
    "value": "13ec5d0dc5ba035da2da9e198107f90a750e1723"
  },
  "refs/tags/tags/3.6.0/04-08-dynamic-icons": {
    "value": "b36c08fd807bd8632dafa0aebb7b8f18329b408a"
  },
  "refs/tags/tags/3.6.0/05-01-visit-module": {
    "value": "8468bfccd342df6e7cb0faea0b44a3d3dee51df9"
  },
  "refs/tags/tags/3.6.0/05-02-visit-module-dependencies": {
    "value": "2424758f45e95bc5fda87fd8e44d5490939864da"
  },
  "refs/tags/tags/3.6.0/05-03-visit-entity-key-properties": {
    "value": "a58ecbe5b142f94ebf701a5eda684f616d1bee34"
  },
  "refs/tags/tags/3.6.0/05-04-book-visit-action": {
    "value": "df027ca2eb35980f19c7d7826b8f238cf88c2c2b"
  },
  "refs/tags/tags/3.6.0/06-01-unit-test-bookVisit-default-time": {
    "value": "c3bc3fc379460b667a3664afb6460cb4d3559885"
  },
  "refs/tags/tags/3.6.0/07-01-delete-action-events": {
    "value": "b3aa897d043be02f652c8c377d3c434af8bfe4a3"
  },
  "refs/tags/tags/3.6.0/08-01-home-page-additional-collections": {
    "value": "454b36cf88d28a32796a681405d4512fc316330f"
  },
  "refs/tags/tags/3.6.0/08-02-home-page-bookVisit-convenience-action": {
    "value": "cc3f4e707d000f69b4e8b9b9c3289c14790ef9f4"
  },
  "refs/tags/tags/3.6.0/09-01-bookVisit-integ-test": {
    "value": "9822f27a11a66bb4f7d080c7774a944d2758d6ba"
  },
  "refs/tags/tags/3.6.0/09-02-adds-visit-fixture": {
    "value": "0645c7d74498063bd955ee3da7e7db0536c4f362"
  },
  "refs/tags/tags/v2/01-01-starter-app": {
    "value": "7b2d3efa9d24f2603c208ee59a2b3f3bc5ca8e47"
  },
  "refs/tags/tags/v2/02-01-copies-SimpleObject-to-PetOwner": {
    "value": "9c44a8c69d16e66e468d0af33efa31d80b12b41b"
  },
  "refs/tags/tags/v2/02-02-configure-the-app-to-include-petowner": {
    "value": "9d1d1a4726b45ab88887253a605a70c355834ba9"
  },
  "refs/tags/tags/v2/02-03-add-security-role-for-petowner": {
    "value": "f7dc097296daf35b88761e3b5409009305771a1c"
  },
  "refs/tags/tags/v2/02-04-update-menubar-for-petowners": {
    "value": "3ed5fa858752437027496bb0042152eb26dc48c3"
  },
  "refs/tags/tags/v2/02-05-setup-demo-petowners": {
    "value": "06f408f6e97cde527cccaee36265bee73fd29bf2"
  },
  "refs/tags/tags/v2/03-01-adds-PetOwner-knownAs-property": {
    "value": "3ad1975193917c4c2daf8c6e7097a4299af86b22"
  },
  "refs/tags/tags/v2/03-02-define-PetOwner-title-imperatively": {
    "value": "4a315b8215266095a7346240709b182c8678188f"
  },
  "refs/tags/tags/v2/03-03-remaining-PetOwner-properties": {
    "value": "68c342277a7673fc96f964614f9062a78237e12c"
  },
  "refs/tags/tags/v2/03-04-list-new-properties-of-PetOwner": {
    "value": "dbbb07b342f94f87250852f84db91222113707ca"
  },
  "refs/tags/tags/v2/03-05-initial-fixture-script": {
    "value": "ae001a2066cf81be103097a6a5b661731773f2df"
  },
  "refs/tags/tags/v2/03-06-update-home-page-to-show-pet-owners": {
    "value": "25c5cd06f224e8bc871216592bb05c1660557781"
  },
  "refs/tags/tags/v2/03-07-modifies-PetOwners-create-action": {
    "value": "50013c0ba4d058766ba12c43231917e24356f890"
  },
  "refs/tags/tags/v2/03-08-prompt-styles": {
    "value": "87dfaf7dbe03e833e6d43a51491e86008230eef9"
  },
  "refs/tags/tags/v2/03-09-derived-days-since-last-visit-property": {
    "value": "0870f76b292a16cac386f58eede2c2c0a537ce89"
  },
  "refs/tags/tags/v2/03-10-use-meta-annotations-to-reduce-duplication": {
    "value": "ca6382ae2d365412bd88d0cb3ac31f63d65bc9b4"
  },
  "refs/tags/tags/v2/03-11-validation-rules-using-metaannotations": {
    "value": "8e6d1b698bd38cc1cad294c9894da9403888ca70"
  },
  "refs/tags/tags/v2/03-12-moves-validation-onto-metaannotation": {
    "value": "aedd258f0a9b9b952b96fb51fff8ae7df74330c1"
  },
  "refs/tags/tags/v2/03-13-scalar-custom-value-type-for-email-address": {
    "value": "e393e9b16696163c6ebda88d4020550025c29624"
  },
  "refs/tags/tags/v2/03-14-use-layout-xml-for-ui-semantics": {
    "value": "8ea0e207a57261ffedf70c4844d5f89454f6882c"
  },
  "refs/tags/tags/v2/03-15-change-pet-owner-icon-png": {
    "value": "4015031736ed791146296e4b222a48ad5297bd4b"
  },
  "refs/tags/tags/v2/04-01-pet-entity-key-properties": {
    "value": "9f43e2d971b8df1430d9e881d694321feadc16b5"
  },
  "refs/tags/tags/v2/04-02-pet-ui-and-layout-semantics": {
    "value": "7b8125308e25d98c8e06969e30d25ff8eec2d72d"
  },
  "refs/tags/tags/v2/04-03-PetOwner-pets-collection": {
    "value": "33a2d902f40a953c2fbd6e38f11f4955e6b94322"
  },
  "refs/tags/tags/v2/04-04-add-remove-pets": {
    "value": "8c395624c7eae5429999bdfa7e1d112ba3114bb1"
  },
  "refs/tags/tags/v2/04-05-extend-fixture-data-to-add-in-pets": {
    "value": "b9333db88327bdc50fd34419028f3e04807c49ad"
  },
  "refs/tags/tags/v2/04-06-unique-pet-names-validation": {
    "value": "d74562e00454414491653c858958305118a8a2d3"
  },
  "refs/tags/tags/v2/04-07-pet-remaining-properties": {
    "value": "c08b831692cdff0b3e3d085d1f24e7224b6e1d7a"
  },
  "refs/tags/tags/v2/04-08-dynamic-icons": {
    "value": "359bf5c443dc7a2bd1107b4cde410e1163fe2dbf"
  },
  "refs/tags/tags/v2/05-01-visit-module": {
    "value": "d4da7fdc3c60f85ebbf367feb9dd8f721ba9bdf5"
  },
  "refs/tags/tags/v2/05-02-visit-module-dependencies": {
    "value": "9f429911487f3c66ab08e71caa39000aa6c855a6"
  },
  "refs/tags/tags/v2/05-03-visit-entity-key-properties": {
    "value": "441439ed99537f014e31bfe28e242e819c64c4b3"
  },
  "refs/tags/tags/v2/05-04-book-visit-action": {
    "value": "9790f11a35319dd0e564273f6a628a34b718ede8"
  },
  "refs/tags/tags/v2/06-01-unit-test-bookVisit-default-time": {
    "value": "230b6a74b85d30cb30269bc3f318875d315ccc76"
  },
  "refs/tags/tags/v2/07-01-delete-action-events": {
    "value": "3e34fc096704199c35e77d7ad0698aa916afc78b"
  },
  "refs/tags/tags/v2/08-01-home-page-additional-collections": {
    "value": "ac532947cd6063195804ebeec8a13ebb75c25a22"
  },
  "refs/tags/tags/v2/08-02-home-page-bookVisit-convenience-action": {
    "value": "21d0b22ad7316cfc81944c59986ec373edb7dc8b"
  },
  "refs/tags/tags/v2/09-01-bookVisit-integ-test": {
    "value": "64e79fd417351e551214c8de9434ea12e01c0cc6"
  },
  "refs/tags/tags/v2/09-02-adds-visit-fixture": {
    "value": "f7c958e9c9c2dc65dceb94c246123031d5c749fb"
  },
  "refs/tags/tags/v3/01-01-starter-app": {
    "value": "86f65354bcb674609e00902b2835bd71536243c5"
  },
  "refs/tags/tags/v3/02-01-copies-SimpleObject-to-PetOwner": {
    "value": "e09616880be53a50bb91dfd62cac296441dd5bfc"
  },
  "refs/tags/tags/v3/02-02-configure-the-app-to-include-petowner": {
    "value": "33b616502bd97ddafe24b9a14d10fc9e4f10ba09"
  },
  "refs/tags/tags/v3/02-03-add-security-role-for-petowner": {
    "value": "8a85e4f0208b4c8bbd9b35bd9c4386839a28a1ae"
  },
  "refs/tags/tags/v3/02-04-update-menubar-for-petowners": {
    "value": "19e36d5dc844275a8cc375a4bc1f1c862df6612a"
  },
  "refs/tags/tags/v3/02-05-setup-demo-petowners": {
    "value": "8cf9ab4f6078984b409cebc8dd3faaa1d102bfef"
  },
  "refs/tags/tags/v3/03-01-adds-PetOwner-knownAs-property": {
    "value": "fba3e09bfc6f2a5b54883621e9b9766f6e568372"
  },
  "refs/tags/tags/v3/03-02-define-PetOwner-title-imperatively": {
    "value": "6d74908351c16165a13242c5b8dc80cea0bd6d13"
  },
  "refs/tags/tags/v3/03-03-remaining-PetOwner-properties": {
    "value": "ad3879782defc3c12f34e6ea3f8e30e69dc4bdec"
  },
  "refs/tags/tags/v3/03-04-list-new-properties-of-PetOwner": {
    "value": "4ea505c8419b63a3b4bef7e71fec6ef4b2c4feed"
  },
  "refs/tags/tags/v3/03-05-initial-fixture-script": {
    "value": "5af86037d0a2f2a4bf57a6639ad117537532b780"
  },
  "refs/tags/tags/v3/03-06-update-home-page-to-show-pet-owners": {
    "value": "d898994e82d7844b6c6f05e031ae8f79f37a001e"
  },
  "refs/tags/tags/v3/03-07-modifies-PetOwners-create-action": {
    "value": "a4e74c778e28bca0d7dddf9d3df16f4a40049cb5"
  },
  "refs/tags/tags/v3/03-08-prompt-styles": {
    "value": "17585156c0c1b1cbcb6eb6c17a36090c651b0e9c"
  },
  "refs/tags/tags/v3/03-09-derived-days-since-last-visit-property": {
    "value": "8c3313e14d47aac7f908b40c63abea7d029e84da"
  },
  "refs/tags/tags/v3/03-10-use-meta-annotations-to-reduce-duplication": {
    "value": "e79ef04a49a01fe15e405ebc15d32b55d25f56c6"
  },
  "refs/tags/tags/v3/03-11-validation-rules-using-metaannotations": {
    "value": "bbacbed21e620b3daf7f09e8232650076622cd80"
  },
  "refs/tags/tags/v3/03-12-moves-validation-onto-metaannotation": {
    "value": "fcd2d58c0064c16c26d7c1c6d2e4b2960b41ab4f"
  },
  "refs/tags/tags/v3/03-13-scalar-custom-value-type-for-email-address": {
    "value": "126a34b3585909b3c43a768416ae66a9601b207f"
  },
  "refs/tags/tags/v3/03-14-use-layout-xml-for-ui-semantics": {
    "value": "a5876486b3616926fe19cd6d5ffee413ed48718c"
  },
  "refs/tags/tags/v3/03-15-change-pet-owner-icon-png": {
    "value": "644b48822d319db15ca11c216936fd1aa0b12137"
  },
  "refs/tags/tags/v3/04-01-pet-entity-key-properties": {
    "value": "63ec793f103db9ee0003aeb4d93b7a8acf443f08"
  },
  "refs/tags/tags/v3/04-02-pet-ui-and-layout-semantics": {
    "value": "24fdabeb3c343d1358661ebdd74e1a3cb9b30215"
  },
  "refs/tags/tags/v3/04-03-PetOwner-pets-collection": {
    "value": "c65793c7aec057b973a256db9409454cad274db1"
  },
  "refs/tags/tags/v3/04-04-add-remove-pets": {
    "value": "d0192821b3c5d849c9f72bd465fbcd5ce7f8ba99"
  },
  "refs/tags/tags/v3/04-05-extend-fixture-data-to-add-in-pets": {
    "value": "ef2fc43350b9c8f0becf403698de96a774b075f1"
  },
  "refs/tags/tags/v3/04-06-unique-pet-names-validation": {
    "value": "974d7f3b6aed0ce7b061c82ed7482942fee0e1ad"
  },
  "refs/tags/tags/v3/04-07-pet-remaining-properties": {
    "value": "5f6c9332381ddb2bf4502b75a57b86e5d94935fc"
  },
  "refs/tags/tags/v3/04-08-dynamic-icons": {
    "value": "f6c3763ceb1dad9e2e593f45c40e9a8c40cc15ee"
  },
  "refs/tags/tags/v3/05-01-visit-module": {
    "value": "b02e4438a94492a716253d783e80c228872f62df"
  },
  "refs/tags/tags/v3/05-02-visit-module-dependencies": {
    "value": "be685d5acdb3c4de2d217a172ac15c79a071f540"
  },
  "refs/tags/tags/v3/05-03-visit-entity-key-properties": {
    "value": "840c481f664d217177a14e188534f97e17d5da97"
  },
  "refs/tags/tags/v3/05-04-book-visit-action": {
    "value": "250f836b8853c5e252a41738644d0ead764b0f17"
  },
  "refs/tags/tags/v3/06-01-unit-test-bookVisit-default-time": {
    "value": "b87304e52ce5831e9f068a03229cc62ceec88744"
  },
  "refs/tags/tags/v3/07-01-delete-action-events": {
    "value": "27c6123783e9dc0a30458b9ccf9e31612a4b168b"
  },
  "refs/tags/tags/v3/08-01-home-page-additional-collections": {
    "value": "46e96c777a6f78478841cf179e257b62efef02e1"
  },
  "refs/tags/tags/v3/08-02-home-page-bookVisit-convenience-action": {
    "value": "5702ed6c89ef978a784c472942b743ccebfd5563"
  },
  "refs/tags/tags/v3/09-01-bookVisit-integ-test": {
    "value": "fbc171aff4f4e936e1b7935ac4dd46191b89eacd"
  },
  "refs/tags/tags/v3/09-02-adds-visit-fixture": {
    "value": "3955d227160e37dbce6a581188fbf5785707a3e6"
  }
}
