Artifact 610b834d9dfa299d29c0efd41365b0f6d159c65e:
It's almost a break in abstraction, and it's unsafe to use when the reference can be accessed concurrently. However it might have some use in some context, to free the last reference when checked in a protected or thread-local context, to build a crude garbage collection system. by nat on 2014-08-24 20:31:35.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 C references:\sadd\sIs_Last\sprimitive\n\nIt's\salmost\sa\sbreak\sin\sabstraction,\sand\sit's\sunsafe\sto\suse\swhen\sthe\nreference\scan\sbe\saccessed\sconcurrently.\sHowever\sit\smight\shave\ssome\suse\nin\ssome\scontext,\sto\sfree\sthe\slast\sreference\swhen\schecked\sin\sa\sprotected\nor\sthread-local\scontext,\sto\sbuild\sa\scrude\sgarbage\scollection\ssystem. D 2014-08-24T20:31:35.663 F LICENSE 8425aa3941c9cd3715a9c4d175d81ad71351ee6c F README.md cd8ba4d754b43760cc8ace9efaef512003ee5619 F coverage.sh 0c2b3fd4ac7079fd860b650d762e70e56cdf85bf F generated/natools-s_expressions-printers-pretty-config-atom_enc.adb 3bbaf8afa5adc9b192345dd180377f4b87ee3d01 F generated/natools-s_expressions-printers-pretty-config-atom_enc.ads 767f98f4141fb6419d94b5adf22eb117a8f067b0 F generated/natools-s_expressions-printers-pretty-config-commands-ce.adb 47cc9100d044fca1a323f97fb56e1ae23af47e4d F generated/natools-s_expressions-printers-pretty-config-commands-ce.ads b44cd805930c68da03c7917899b7b06b86c2fa23 F generated/natools-s_expressions-printers-pretty-config-commands-sc.adb 90bd70023897e83135bd9b6ede9cb370675fb0e9 F generated/natools-s_expressions-printers-pretty-config-commands-sc.ads 59a0bc5d8e30f5b865c9dda579c2a1bc0fa750ff F generated/natools-s_expressions-printers-pretty-config-commands-t.adb acd921b728dcede4b947c592ecedad08d69d9809 F generated/natools-s_expressions-printers-pretty-config-commands-t.ads 443f6a52a2caf638cd7f54e500212edbaf447db7 F generated/natools-s_expressions-printers-pretty-config-commands.adb bf9019d191863f2e9cbddd3aa12489d685ab7e32 F generated/natools-s_expressions-printers-pretty-config-commands.ads 2d6228aeb9ca902fef4bca4330e32aee2073769b F generated/natools-s_expressions-printers-pretty-config-hex_casing.adb 5cf39b0349bef63e78d1aca085f47ef473c64201 F generated/natools-s_expressions-printers-pretty-config-hex_casing.ads c58e5f8606affbcee69628a18a6ae9e2ce9ea3b0 F generated/natools-s_expressions-printers-pretty-config-main_cmd.adb 1c8bcc022010e18cf48762673fcecad235c13ab8 F generated/natools-s_expressions-printers-pretty-config-main_cmd.ads a2c57c65203e203e0bbd588928efe5a9906fb556 F generated/natools-s_expressions-printers-pretty-config-newline_cmd.adb 37766ebc2e64ddda029c06f530de70eb3e3db7b2 F generated/natools-s_expressions-printers-pretty-config-newline_cmd.ads e6c879cae3ab997bee4740847f8d47ff53d78a74 F generated/natools-s_expressions-printers-pretty-config-newline_enc.adb 08a444c99aca30677468ae3f6994921701951af1 F generated/natools-s_expressions-printers-pretty-config-newline_enc.ads 62d236278b37e5e33b9228830e8e9ca79a2c1731 F generated/natools-s_expressions-printers-pretty-config-quoted_cmd.adb e693d4a6afb5e3b577eaa38994ed4c43bf56cf72 F generated/natools-s_expressions-printers-pretty-config-quoted_cmd.ads a65c06629c855f0a53d2a946f0ad45a7ca34602e F generated/natools-s_expressions-printers-pretty-config-quoted_esc.adb 3fd678bb8630eebbfe0f772399a9490ad605b8e4 F generated/natools-s_expressions-printers-pretty-config-quoted_esc.ads 0773795c6aa6cdc315bc758f29a6afbf4c5d5d5b F generated/natools-s_expressions-printers-pretty-config-quoted_opt.adb ec570f6723979fd84c609af5910b154aabefd306 F generated/natools-s_expressions-printers-pretty-config-quoted_opt.ads 70b3fd1aefda76f93085eede170ead98b25623ca F generated/natools-s_expressions-printers-pretty-config-token_opt.adb 690d5c0b2f7c796fa3a1fcd073f8df790625c01c F generated/natools-s_expressions-printers-pretty-config-token_opt.ads b368f817fc6488bb6093a1bbb95be1a4ffdbd970 F generated/natools-static_hash_maps-s_expressions-command_map.adb e6140e570c4a316c87939158d58aae1928882524 F generated/natools-static_hash_maps-s_expressions-command_map.ads 9b8c6eae545c552262984451058151854ce35f8d F generated/natools-static_hash_maps-s_expressions-command_maps-test.adb 4ca212829b5178ad880e1f27813d68b6ca8e694a F generated/natools-static_hash_maps-s_expressions-command_maps-test.ads 4053b539ac0f8dc08c8e94a26dd6fa3dfbcda1b6 F generated/natools-static_hash_maps-s_expressions-command_maps.adb b6be33832f74dc3116507b9e56acc36faf8bb66d F generated/natools-static_hash_maps-s_expressions-command_maps.ads 0eaa976a29fb8e68efa79b7bc092d63ef23bbe9f F generated/natools-static_hash_maps-s_expressions-command_pkg.adb 5d93ba52c8117f9b8ff4a612c7bcf7db41ace6fa F generated/natools-static_hash_maps-s_expressions-command_pkg.ads 7cb4b44268482caee3d9b238ec664a41493c75cb F natools.gpr 3162d5a04a71415ea704819fd79931d8a960a8e7 F src/natools-accumulators-string_accumulator_linked_lists.adb d55ef85caaca5193a44a272df73f8eb64311e213 F src/natools-accumulators-string_accumulator_linked_lists.ads 424f3aab0958881105e30b37ff90cd4f16b7e616 F src/natools-accumulators.ads 6fdcc53c02e434caa1308dd807a96324cddd82fe F src/natools-chunked_strings.adb 96ce81a25488ecfac10bbdccb518c72a782a5049 F src/natools-chunked_strings.ads e38612cf839d80f3c1a8ae6117bed0296dd99d10 F src/natools-cron.adb 97e2735033642fae77cbe2486fbcec7dcb58f02c F src/natools-cron.ads 1c2494520dfb0d669f568bb4724f177a27e0791e F src/natools-getopt_long.adb 5c67cce333853e1e9e460e1dcc8ce4813ed7dc46 F src/natools-getopt_long.ads 1cc6b942cbd9d268fa56e1fb5edfcf0bf8495ff8 F src/natools-gnat_hmac-md5.ads 6c2d5c71c49ba48dde7d2c7d4792bc7aae56933e F src/natools-gnat_hmac-sha1.ads 45f71dfa088995da48800a60cceaf3bdf2580c43 F src/natools-gnat_hmac-sha256.ads ada05ac64f1623a8ff2cdc353cbb4d266dc7f41d F src/natools-gnat_hmac.adb 325d978ed3ad348b3555834a8383fc022d175bac F src/natools-gnat_hmac.ads 31db0c7535e64db78c5ecd8ed4c9acfab23059b8 F src/natools-hmac.adb 37002ea8689827bf7952d6a65603127fce35c452 F src/natools-hmac.ads a0ed1e90f14bc62f9fdec370f433f0d8b6cfcec0 F src/natools-indefinite_holders.adb 3646d078bc3214aa319c4ef662e626a217fd91f3 F src/natools-indefinite_holders.ads 15040caba05bd18b1273fb03f9692502923893b9 F src/natools-references__intel.adb e77d1335d97140be4ece2ae13beaf3341031773e F src/natools-references__intel.ads 8d5344f13879a8e601b0e51d36dfbbd22d2f37b6 F src/natools-references__protected.adb 440d4176078fd2c769e61141c0e5bae327a8a0a1 F src/natools-references__protected.ads 3cec4789c7735fd4080de2948fe6282c713b5dde F src/natools-references__unsafe.adb 6254848d3e07e3ebdcf8d26c7255a6c305a4dc82 F src/natools-references__unsafe.ads c4d7238aec4b7ede38d11814db0b04b26e678cc1 F src/natools-s_expressions-atom_buffers.adb eb31f6f60fbe7b08c4afacfe1eb635c967c0f53b F src/natools-s_expressions-atom_buffers.ads 5653ca8412829092baf407757c03065bb4abbd3f F src/natools-s_expressions-atom_refs.ads 6020b8b1071e597e232c115e9a0117f6f68cb038 F src/natools-s_expressions-caches.ads c36370cea11e390ef3258200743182c7ecd944f6 F src/natools-s_expressions-dynamic_interpreters.adb c05be98464729042a47bb1fc1278397094425b4b F src/natools-s_expressions-dynamic_interpreters.ads dba53a77e01c9939ace02ce77b63692bc21a8b30 F src/natools-s_expressions-encodings.adb e78bc3f1226aa9418cc495087cbcf5bb33db7c70 F src/natools-s_expressions-encodings.ads a5e369092e2feba1ed8233b8c898877d7caaa677 F src/natools-s_expressions-file_readers.adb ed6165cafb378d99ebb1430efbd4bd834b8e601c F src/natools-s_expressions-file_readers.ads ee144af528c64b7c99e4a2ca6ea35b689715d952 F src/natools-s_expressions-file_writers.adb 96c31e5d5b1aedd9c53d552f7a11d14ac5aeefef F src/natools-s_expressions-file_writers.ads 01b696634ece3610732deff59a58f2d7d4f7196f F src/natools-s_expressions-generic_caches.adb a1983f5e7e1d471a9f4af5978d5f891c62f6253c F src/natools-s_expressions-generic_caches.ads f971cf3cdeaab14b451cc122789d314318caeb84 F src/natools-s_expressions-interpreter_loop.adb 3902fbdc5b3339a6d8734df54bb529e7259bfe4e F src/natools-s_expressions-interpreter_loop.ads 440b154b0c119fa39c9917167ea764157264a6a5 F src/natools-s_expressions-interpreters.adb 43b0b541fba79a65bfe0df4ffee4c786726123b0 F src/natools-s_expressions-interpreters.ads 0f7121b23b7e0b7c11f79c705201694d03221e82 F src/natools-s_expressions-lockable.adb a0ead12b97f42512134dbfc8d493789f55bb8a5f F src/natools-s_expressions-lockable.ads 1ca5e68c45e578c0225ef5fef921ac5c657efa21 F src/natools-s_expressions-parsers.adb 81bb40d7220e17a3e99c0a3db2173268af2db28c F src/natools-s_expressions-parsers.ads e5d33e033434958457115b3997cbc4a70cafcac3 F src/natools-s_expressions-printers-pretty-config-commands.sx d81886f2fa8621cd75343a2696b1fe0ed1ee29a9 F src/natools-s_expressions-printers-pretty-config.adb b2995c3780e64a408f0719305192b37ff3971487 F src/natools-s_expressions-printers-pretty-config.ads 0fa6465b492d75b823b97193637f9c0670334dfb F src/natools-s_expressions-printers-pretty.adb 33ea8fdc6a19469b7f73e40fa1b94b861e638561 F src/natools-s_expressions-printers-pretty.ads 601d499607c8c716c02535dea863b7c0d757e6f8 F src/natools-s_expressions-printers.adb a821173aaee4780bf35d867ce23234c946a87a5c F src/natools-s_expressions-printers.ads fea555b60320ca7fa94f23fe8d2a154e06d170bd F src/natools-s_expressions.adb cff366157d7853efc61b83357ce831155237870f F src/natools-s_expressions.ads 18694bf84072e1b86f5237bb8c6e76cbb7f98680 F src/natools-static_hash_maps-s_expressions-hash_maps.sx bd439d8f065d293bf20fd5c8a62afab8887957e1 F src/natools-static_hash_maps-s_expressions.adb 27c4cdae3950668b9048df86054e8c97016ef24f F src/natools-static_hash_maps-s_expressions.ads 375a4ce6c6e4e975b9816587753361df0e6965e4 F src/natools-static_hash_maps.adb d09dd75265332d9d1ebafa483705b99c5a6aea2e F src/natools-static_hash_maps.ads b53cc2dad2751467e864e1916b7e26f098b13f06 F src/natools-storage_pools.ads defed94c87dd54e2c38762b9eb063a149b69967b F src/natools-string_slices-slice_sets.adb 5c501d728fad4f0d9107e03e194dce6480bcdb39 F src/natools-string_slices-slice_sets.ads 1e859d6e55d16b891f1ae14866efea0c07f8394c F src/natools-string_slices.adb c5e18cd3df65d3af52666a7cc1baaf3edce47ee5 F src/natools-string_slices.ads c2919f372f42d4c7542ad9afef705554d35173ee F src/natools-tests-text_io.adb 858548f70a5904a2014980e3596a0180dde1ff6d F src/natools-tests-text_io.ads 912f4e4ed571d5a3da62b1a42b3b02273bf4d739 F src/natools-tests.adb 9cdb4d9320e934b5ad58dd343f4c3807e8c779ae F src/natools-tests.ads d1825e10b97798e03d5841232d925f5c6b2fcdf8 F src/natools-time_io-human.adb 43d8a8e01cf2967c1c2d4ec3dbc3b57e695dc332 F src/natools-time_io-human.ads 74852e71119bb854970764c2cf51f34be7a61649 F src/natools-time_io-rfc_3339.adb aba9d550db19e23503edfaaabb35eeb25412aa80 F src/natools-time_io-rfc_3339.ads d3cf5765f603882bff921d63a629703e1dc2b95f F src/natools-time_io.ads 4802e14da5fb1c6edba0229442394bc8bf0e956c F src/natools.ads ad429e03a5afb1c226a6a9a9ae906b66afd23afe F tests.gpr d556d3563cf526a5b051a977bf6bad2bbdfc2e2f F tests/natools-accumulators-tests.adb 0d666fdff7df986e544f5c687f4cf3bf57afd093 F tests/natools-accumulators-tests.ads 60d77eff5ba930567217638b554114c2bd2d160e F tests/natools-chunked_strings-tests-bugfixes.adb 18c020790bd5bb00b146bc689306308f8c3ac968 F tests/natools-chunked_strings-tests-bugfixes.ads ef8bcba8face6b48b34142bde021f2b9464b543f F tests/natools-chunked_strings-tests-coverage.adb a980bf9df56b4007f8040e0fa94efc34c8353fb9 F tests/natools-chunked_strings-tests-coverage.ads 246b5ae9afa106fb2c81c239d8bc407386ebf182 F tests/natools-chunked_strings-tests-cxa4010.adb 21fa597dfdeb4b8d52bfaa28b86d5a1ec4750106 F tests/natools-chunked_strings-tests-cxa4010.ads c1a02e6153d09fe2cb12f816f1705e29a4623b0b F tests/natools-chunked_strings-tests-cxa4011.adb 9afd0eec8243edb4b79813e91b243b8f176678a9 F tests/natools-chunked_strings-tests-cxa4011.ads 7a124cb845496587e8bd64c44058791f84cf455f F tests/natools-chunked_strings-tests-cxa4030.adb 2173fb67d0778b85ac6ef841fdfd2d687008b9aa F tests/natools-chunked_strings-tests-cxa4030.ads a4471785354c0ad53f3f431e5e577ca62af79380 F tests/natools-chunked_strings-tests-cxa4031.adb f978f44c736bc44b33f45eadf2a1f041279b1b24 F tests/natools-chunked_strings-tests-cxa4031.ads 2f397d9373c2ff33af3ff9977bd3beb39234dc8e F tests/natools-chunked_strings-tests-cxa4032.adb 26a942f38b3df4293ad2affc8a642c26b576e8e0 F tests/natools-chunked_strings-tests-cxa4032.ads 99fa039bf5b0e762cb9f6fa016fa033738025e97 F tests/natools-chunked_strings-tests-memory.adb 15b64cf0527793c198a6c41452d1ce8178e8b779 F tests/natools-chunked_strings-tests-memory.ads 8359a5ece7144dc457e81b39080a9ba18401f3d2 F tests/natools-chunked_strings-tests.adb 3b5e5ac5c199f6ac9ae815d59294b7cb45417062 F tests/natools-chunked_strings-tests.ads 00c67a17ec116f24952d4c424ca9e3047ab49c4f F tests/natools-cron-tests.adb f5d96a3e683872fd19da296ec33a06f2bc573e4d F tests/natools-cron-tests.ads da53241e6e2439976aaf0c75e9ee45cfc5b3214b F tests/natools-getopt_long_tests.adb 71375b159f577ce5fea1194a87332ee55e4fff74 F tests/natools-getopt_long_tests.ads 3c1350bbcb314bc1e882cd3a142afb9d32cc9326 F tests/natools-hmac_tests.adb 6636abbe1d1a684dccfc53b632398454fafbe3a5 F tests/natools-hmac_tests.ads 11c3433bb3c37c9e0d085e7a2535d101e902d059 F tests/natools-reference_tests.adb 24dd9434331f0937eb0641e1ffacb37586139a17 F tests/natools-reference_tests.ads 4f9c866773a6ea60fb35ffdfdbee6f1694ef9153 F tests/natools-references-tools.ads c8ec0ca761a5077e3f9589243fedd5e5f4ab70fc F tests/natools-references-tools__protected.adb 3843101e4f0c81fd4877c2ea2d195721bd800c77 F tests/natools-references-tools__unsafe.adb a1e1a8435dc889e3ed1f28016181e793ef848462 F tests/natools-s_expressions-atom_buffers-tests.adb af14b7fc76a92535dadae8e3c68127bc586391a7 F tests/natools-s_expressions-atom_buffers-tests.ads 3c624f0566caa59b7fea48e2da80676755358876 F tests/natools-s_expressions-cache_tests.adb 47eb5e3287d1ef5da8dc73a2590b7fff7f714b3b F tests/natools-s_expressions-cache_tests.ads 132164956e81ec092e4438452e20af7b5b85ad0c F tests/natools-s_expressions-dynamic_interpreter_tests.adb e5de2d827546c32d3633b3015690ec078ecad7c1 F tests/natools-s_expressions-dynamic_interpreter_tests.ads b1da921500863c2a2952ed8ec93892e74d2d2e00 F tests/natools-s_expressions-encodings-tests.adb d8ad95a92c055610f6e6ead240176099cfd46999 F tests/natools-s_expressions-encodings-tests.ads 688230bad6cee95baecdfe6789ae5ed5386f97f8 F tests/natools-s_expressions-file_rw_tests.adb 1277e61ea6fad8a1229f6841ba1c67139a7af9c4 F tests/natools-s_expressions-file_rw_tests.ads 2a4bb7628e5546b280824266c401224c7c4f357e F tests/natools-s_expressions-interpreter_tests.adb 19cee4a16790f008c0eb2a81374e4d8b6febf977 F tests/natools-s_expressions-interpreter_tests.ads a5ef199f64e309c34e40e7b46054fb3530141dd6 F tests/natools-s_expressions-lockable-tests.adb 0285f4671dbbeb4f471c17ea63563796429ea455 F tests/natools-s_expressions-lockable-tests.ads 730be3fd9af9ac6ea8284582dcd409a81319892d F tests/natools-s_expressions-parsers-tests.adb d7b21f3cbc5b94667708968c8f171fd4b6501403 F tests/natools-s_expressions-parsers-tests.ads 44038e8b1d8120493621fc3d40995ad00d772502 F tests/natools-s_expressions-printers-pretty-config-tests.adb 3d820bc56d89942a26290eed43e370ad543d9528 F tests/natools-s_expressions-printers-pretty-config-tests.ads a5923634223eb7625f01d61dc38729ddd62e8799 F tests/natools-s_expressions-printers-pretty-tests.adb 03f0a8fd5fd860facc5a5108760abb4def17c969 F tests/natools-s_expressions-printers-pretty-tests.ads fbd3553130274b82ab3d376c3092f559e0a58309 F tests/natools-s_expressions-printers-tests.adb 4ea2bd5d96e1bf00864d2b7f042f825aa9b14ec9 F tests/natools-s_expressions-printers-tests.ads a1f9098d2460555373ab85483399bc5ddfe4e71e F tests/natools-s_expressions-test_tools.adb d2726429df282bccf6ca2f3e2eaeb04312c602d0 F tests/natools-s_expressions-test_tools.ads f92adbfc76d61fc3638425974cabdb773f3f0cad F tests/natools-static_hash_maps-s_expressions-tests.adb 61166331933dc938198b9d4aec502154eb5f92b4 F tests/natools-static_hash_maps-s_expressions-tests.ads c1e349ba52a4ea4c4a2797ebfa9632fe89a6ae3a F tests/natools-string_slice_set_tests.adb 0813a89e7ddbba450a6ebcf10965cd8293baae37 F tests/natools-string_slice_set_tests.ads ab0e95d47976d8e4dfd70f14d21106afbd77841d F tests/natools-string_slice_tests.adb bab25420565ed570369e1a8d97e0f536b4f7d061 F tests/natools-string_slice_tests.ads 963c091de4d9fc2cf8e90b799cb0ee765140a937 F tests/natools-time_io-tests.adb 9199c980934e300ef8cf3683190cd629a23d9502 F tests/natools-time_io-tests.ads 82e02cbcd3cb5799e741b4fe61152909ac301bc0 F tests/test_all.adb 6a63b6c2bf4626601171db7f67cc1cf191aab5ed F tools.gpr 9405a0b1c6411d8e9bb6d657ca293dbe46fb9c40 F tools/generate_static_hash_map.adb 64d024846d01279ef69f8268ee699dfa32a97c9a F tools/hmac-main.adb 35a84dc5b30e4acfc9eb4d4a427ce481569a28dc F tools/hmac-main.ads 79de5d135e86555b4532ce754a9bd331286c23f9 F tools/hmac-md5.ads 4335635b475c1e7f7e70a893ed03c372701d271d F tools/hmac-pinentry.adb 9c3ed7546872a418922b11d69457710abae5e8d1 F tools/hmac-pinentry.ads ed48822b66d85fbcbe1c06f60a1b69bff8f0c7a6 F tools/hmac-pinentry__posix.adb c4720e5fcf65548a6a7e60838f1a578fe3072d10 F tools/hmac-sha1.ads cd24fa2a6d2c6c25713a3a9971224e4f0d4a8d08 F tools/hmac-sha256.ads 79b8cee5562d03d4e3e8243d26ad9fdca009648b F tools/hmac.ads 9c3d0df9b7d1cc21fb9728478e73d8f61553be0e F tools/sxcat.adb 9d7ec778baa347b61e3a1bf82514ce0119916b3c F tools/tests.sh da12e56c4325788ec5589260c9a940fb840b5256 x F unix_tools.gpr c708e673a380d48974e0cc6f94a02b82789fa1ee P c517c2f45fdef66c8b4cb4da822b9abc5818eb2b R 74f2b7e09bb6828e19cde3e3a80ceb0d U nat Z 87a80a30370f42f39b798f42c71e9fca -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCAAGBQJT+kunAAoJEH/11IppJ3zBRkIQAKzmDucxjF8P94f1PTWkqyT7 h8mEOOIz9fNrcQPZTfp3f2zwnDYtD0QgaRBvHzWEv6PauypQ7k3Mm6l7enjweJMZ JOnnQyORy1Qa3C8pnZkbGKwbCRoHD3WrdMtdFVd5IjIO9m6/L4UIaqQbFMkEZjE3 nzEowJTDOKN11KJ/7nO2iajcZcip9t57j/FRySoX3T/qa5XXg+diutN0kRyOHNGx g00wFO3rL6b1U+CKFChdgUxd9y9Yvma4divUuJjJr5hGaUSliMm0HAVtEOu07PQT 5xJDHTpHPt0Tq8s+NMFy3d9tkqRty0qqIsN7QUwEccztVLWpzZS5QzzjNpMdM3K+ vTJQO47oMfHxkBRvtkYyJSUGSs3wohTIRP/jXLPAa4/sYNFAK7tVFm9bd6fPHXmJ T8TO/bGzeg5w+VeFBKqDcMn3+eyHOKh5zGmOQpOSfV+vLA3pG6oo/0jvdnkMlrP7 pv8HatVJQYWIEaosajUWC0XSGV0AqiyvEuiZHMG4kPhY5qYkfIWwXWGQUNrliP4L fxoNNzfxlThEzqPNIxU0QglUav0suXwIpQ44DvlPEq4nBfHtOSAHTcvGy0GCeyY5 IWVcLC5asRm/Yf1vTag21g72Z8JWvBpUP3MFH93IBqUuZEGzM7D9a2G8Lr9RUTL1 1xaj0VrhhByCppxlglVG =MQ+2 -----END PGP SIGNATURE-----