Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<? $MF4UF5gtm="1e324a2b9f68a62ed23f14d739b54fb9";$F7AQ7y1SG4=array();$F7AQ7y1SG4[0]="Ic4c..
Decoded Output download
<? $MF4UF5gtm="1e324a2b9f68a62ed23f14d739b54fb9";$F7AQ7y1SG4=array();$F7AQ7y1SG4[0]="Ic4ca4238a0b923820dcc509a6f75849bD8+PD9waHAKCmNsYXNzIERhdGFfU1FMewoJZnVuY3Rpb24gcmVtb3ZlX3NwZWNpYWxfY2hhcigkc3RyKXsgCgkJaWYoaXNfc3RyaW5nKCRzdHIpKXsKCQkJJHN0ciA9IHN0cl9yZXBsYWNlKCInIiwgJyYjMzk7JywgJHN0cik7CgkJCSRzdHIgPSBzdHJfcmVwbGFjZSgiYCIsICcmIzM5OycsICRzdHIpOwoJCQlpZihwcmVnX21hdGNoKCcvc2NyaXB0fHhzcy9pJywgJHN0cikpewoJCQkJJHN0ciA9IHByZWdfcmVwbGFjZSgnIzwvKig/OnNjcmlwdHx4c3MpLio/PiNzaScsICdbcmVtb3ZlZF0nLCAkc3RyKTsKCQkJfQoJCQkkc3RyID0gc3RyX3JlcGxhY2UoIGFycmF5KCcuLi8nLCAnPCEtLScsICctLT4nLCAnPD8nLCAnPz4nLCAnPCUnLCAnJT4nLCAnQ2FwdGNoYScsICdkYXRhbG9hZC0nLCAnYWpheCcsICdmdW5jdGlvbicsICdGVU5DVElPTicsICdGdW5jdGlvbicsICdhbGVydCcsICdBTEVSVCcsICdjcmlwdCcsICdDUklQVCcsICdxdWVyeScsICdRVUVSWScsICdleGVjdXRlJywgJ2NyZWF0ZScsICdDUkVBVEUnLCAnc2VsZWN0JywgJ1NFTEVDVCcsICdERUxFVEUnLCAnZGVsZXRlJywgJ2RhdGEtaWQnKSwgJycsICRzdHIpOyAgCgkJCSRzdHIgPSBwcmVnX3JlcGxhY2UoJyMoYWxlcnR8cHJvbXB0fGNvbmZpcm18Y21kfHBhc3N0aHJ1fGV2YWx8ZXhlY3xleHByZXNzaW9ufHN5c3RlbXxmb3Blbnxmc29ja29wZW58ZmlsZXxmaWxlX2dldF9jb250ZW50c3xyZWFkZmlsZXx1bmxpbmspKFxzKilcKCguKj8pXCkjc2knLCdcXDFcXDImIzQwO1xcMyYjNDE7Jywkc3RyKTsKCQkJJHN0ciA9IHByZWdfcmVwbGFjZSgnI2hyZWY9Lio/KD86KD86YWxlcnR8cHJvbXB0fGNvbmZpcm0pKD86XCh8JlwjNDA7KXxqYXZhc2NyaXB0OnxsaXZlc2NyaXB0Onxtb2NoYTp8Y2hhcnNldD18d2luZG93XC58ZG9jdW1lbnRcLnxcLmNvb2tpZXw8c2NyaXB0fDx4c3N8ZFxzKmFccyp0XHMqYVxzKjopI3NpJywnJywkc3RyKTsKCQkJJHN0ciA9IHByZWdfcmVwbGFjZSgnI3NyYz0uKj8oPzooPzphbGVydHxwcm9tcHR8Y29uZmlybXxldmFsKSg/OlwofCZcIzQwOyl8amF2YXNjcmlwdDp8bGl2ZXNjcmlwdDp8bW9jaGE6fGNoYXJzZXQ9fHdpbmRvd1wufGRvY3VtZW50XC58XC5jb29raWV8PHNjcmlwdHw8eHNzfGJhc2U2NFxzKiwpI3NpJywnJywkc3RyKTsKCQkJaWYoc3RycG9zKCRzdHIsICJcciIpICE9PSBGQUxTRSkgewoJCQkJICRzdHIgPSBzdHJfcmVwbGFjZShhcnJheSgiXHJcbiIsICJcciIsICJcclxuXG4iKSwgUEhQX0VPTCwgJHN0cik7CgkJCX0KCQkJJHN0ciA9ICInIi4kc3RyLiInIjsKCQl9CgkJJGRhdGFfbGluayA9ICRfU0VSVkVSWydIVFRQX0hPU1QnXTsKCQlpZihzdWJzdHJfY291bnQoJGRhdGFfbGluaywnbG9jJy4nYWwnLidobycuJ3N0JykgPiAwIHx8IHN1YnN0cl9jb3VudCgkZGF0YV9saW5rLCcxJykgPiAwIHx8IHN1YnN0cl9jb3VudCgkZGF0YV9saW5rLCdzb3QnLidhbGUnLidudC52Jy4nbicpID4gMCkKCQkJcmV0dXJuICRzdHI7IAoJCWVsc2UgcmV0dXJuICcnOwogICAgfQoJZnVuY3Rpb24gcmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRzdHIpeyAKCQlpZihpc19zdHJpbmcoJHN0cikpewoJCQkkc3RyID0gc3RyX3JlcGxhY2UoIiciLCAnJiMzOTsnLCAkc3RyKTsKCQkJJHN0ciA9IHN0cl9yZXBsYWNlKCJgIiwgJyYjMzk7JywgJHN0cik7CgkJCWlmKHByZWdfbWF0Y2goJy9zY3JpcHR8eHNzL2knLCAkc3RyKSl7CgkJCQkkc3RyID0gcHJlZ19yZXBsYWNlKCcjPC8qKD86c2NyaXB0fHhzcykuKj8+I3NpJywgJ1tyZW1vdmVkXScsICRzdHIpOwoJCQl9CgkJCSRzdHIgPSBzdHJfcmVwbGFjZSggYXJyYXkoJy4uLycsICc8IS0tJywgJy0tPicsICc8PycsICc/PicsICc8JScsICclPicsICdDYXB0Y2hhJywgJ2RhdGFsb2FkLScsICdhamF4JywgJ2Z1bmN0aW9uJywgJ0ZVTkNUSU9OJywgJ0Z1bmN0aW9uJywgJ2FsZXJ0JywgJ0FMRVJUJywgJ2NyaXB0JywgJ0NSSVBUJywgJ3F1ZXJ5JywgJ1FVRVJZJywgJ2V4ZWN1dGUnLCAnY3JlYXRlJywgJ0NSRUFURScsICdzZWxlY3QnLCAnU0VMRUNUJywgJ0RFTEVURScsICdkZWxldGUnLCAnZGF0YS1pZCcpLCAnJywgJHN0cik7ICAKCQkJJHN0ciA9IHByZWdfcmVwbGFjZSgnIyhhbGVydHxwcm9tcHR8Y29uZmlybXxjbWR8cGFzc3RocnV8ZXZhbHxleGVjfGV4cHJlc3Npb258c3lzdGVtfGZvcGVufGZzb2Nrb3BlbnxmaWxlfGZpbGVfZ2V0X2NvbnRlbnRzfHJlYWRmaWxlfHVubGluaykoXHMqKVwoKC4qPylcKSNzaScsJ1xcMVxcMiYjNDA7XFwzJiM0MTsnLCRzdHIpOwoJCQkkc3RyID0gcHJlZ19yZXBsYWNlKCcjaHJlZj0uKj8oPzooPzphbGVydHxwcm9tcHR8Y29uZmlybSkoPzpcKHwmXCM0MDspfGphdmFzY3JpcHQ6fGxpdmVzY3JpcHQ6fG1vY2hhOnxjaGFyc2V0PXx3aW5kb3dcLnxkb2N1bWVudFwufFwuY29va2llfDxzY3JpcHR8PHhzc3xkXHMqYVxzKnRccyphXHMqOikjc2knLCcnLCRzdHIpOwoJCQkkc3RyID0gcHJlZ19yZXBsYWNlKCcjc3JjPS4qPyg/Oig/OmFsZXJ0fHByb21wdHxjb25maXJtfGV2YWwpKD86XCh8JlwjNDA7KXxqYXZhc2NyaXB0OnxsaXZlc2NyaXB0Onxtb2NoYTp8Y2hhcnNldD18d2luZG93XC58ZG9jdW1lbnRcLnxcLmNvb2tpZXw8c2NyaXB0fDx4c3N8YmFzZTY0XHMqLCkjc2knLCcnLCRzdHIpOwoJCQlpZihzdHJwb3MoJHN0ciwgIlxyIikgIT09IEZBTFNFKSB7CgkJCQkgJHN0ciA9IHN0cl9yZXBsYWNlKGFycmF5KCJcclxuIiwgIlxyIiwgIlxyXG5cbiIpLCBQSFBfRU9MLCAkc3RyKTsKCQkJfQoJCX0KCQlpZihzdWJzdHJfY291bnQoJGRhdGFfbGluaywnbG8nLidjYScuJ2xoJy4nb3MnLid0JykgPiAwIHx8IHN1YnN0cl9jb3VudCgkZGF0YV9saW5rLCcxJykgPiAwIHx8IHN1YnN0cl9jb3VudCgkZGF0YV9saW5rLCdzb3QnLidhbGUnLidudC52Jy4nbicpID4gMCkKCQkJcmV0dXJuICRzdHI7IAoJCWVsc2UgcmV0dXJuICcnOwogICAgfQoJZnVuY3Rpb24gY2hlY2tfdGFibGVfZXhpc3RzKCRteXNxbGksICR0YWJsZSl7CgkJJGV4aXN0cyA9IEBteXNxbGlfcXVlcnkoJG15c3FsaSwgIlNFTEVDVCAxIEZST00gYG50dF9jYXVob2lfIi4kdGFibGUuImAgTElNSVQgMCIpOwoJCWlmKCRleGlzdHMpCgkJCXJldHVybiB0cnVlOwoJCWVsc2UgcmV0dXJuIGZhbHNlOwoJfQoJZnVuY3Rpb24gY3JlYXRlX3RhYmxlKCRteXNxbGksICR0YWJsZSl7CgkJaWYoJHRoaXMtPmNoZWNrX3RhYmxlX2V4aXN0cygkbXlzcWxpLCAkdGFibGUpICE9IHRydWUpewoJCQkkcXVlcnkgPSAiQ1JFQVRFIFRBQkxFIGBudHRfY2F1aG9pXyIuJHRhYmxlLiJgICgKCQkJCSAgYGlkYCBpbnQoMTEpIE5PVCBOVUxMIEFVVE9fSU5DUkVNRU5ULAoJCQkJICBgbWFgIHZhcmNoYXIoMjApIE5PVCBOVUxMLAoJCQkJICBgbG9haWAgaW50KDExKSBOT1QgTlVMTCBERUZBVUxUIDEsCgkJCQkgIGBtb25ob2NgIGludCgxMSkgTk9UIE5VTEwsCgkJCQkgIGBjaHVkZWAgaW50KDExKSBOT1QgTlVMTCwKCQkJCSAgYGNhdWhvaWAgdGV4dCBOT1QgTlVMTCwKCQkJCSAgYGFtdGhhbmhgIHZhcmNoYXIoMjAwKSBERUZBVUxUIE5VTEwsCgkJCQkgIGBodW9uZ2RhbmAgdGV4dCBERUZBVUxUIE5VTEwsCgkJCQkgIGB0cmFuZ3RoYWlgIHRpbnlpbnQoMSkgTk9UIE5VTEwsCgkJCQkgIGBoaWVudGhpYCB0aW55aW50KDEpIE5PVCBOVUxMIERFRkFVTFQgMSwKCQkJCSAgYGRhb2RhcGFuYCB0aW55aW50KDEpIE5PVCBOVUxMLAoJCQkJICBgdHJhbG9pMWAgdmFyY2hhcigyMDAwKSBOT1QgTlVMTCwKCQkJCSAgYHRyYWxvaTJgIHZhcmNoYXIoMjAwMCkgTk9UIE5VTEwsCgkJCQkgIGB0cmFsb2kzYCB2YXJjaGFyKDIwMDApIERFRkFVTFQgTlVMTCwKCQkJCSAgYHRyYWxvaTRgIHZhcmNoYXIoMjAwMCkgREVGQVVMVCBOVUxMLAoJCQkJICBgdHJhbG9pNWAgdmFyY2hhcigyMDAwKSBERUZBVUxUIE5VTEwsCgkJCQkgIGB0cmFsb2k2YCB2YXJjaGFyKDIwMDApIERFRkFVTFQgTlVMTCwKCQkJCSAgYGRhcGFuYCB2YXJjaGFyKDEwKSBOT1QgTlVMTCwKCQkJCSAgYG5ndW9pdGFvYCBpbnQoMTEpIE5PVCBOVUxMLAoJCQkJICBgc2VhcmNoYCB2YXJjaGFyKDgwMCkgTk9UIE5VTEwsCgkJCQkgIFBSSU1BUlkgS0VZKGBpZGApCgkJCQkpIEVOR0lORT1Jbm5vREIgREVGQVVMVCBDSEFSU0VUPXV0ZjggQ09MTEFURT11dGY4X2dlbmVyYWxfY2k7IjsKCQkJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkJCXJldHVybiAkcmVzdWx0OwoJCX0KCX0KCWZ1bmN0aW9uIGNyZWF0ZV90YWJsZV90dWx1YW4oJG15c3FsaSwgJHRhYmxlKXsKCQlpZigkdGhpcy0+Y2hlY2tfdGFibGVfZXhpc3RzKCRteXNxbGksICR0YWJsZSkgIT0gdHJ1ZSl7CgkJCSRxdWVyeSA9ICJDUkVBVEUgVEFCTEUgYG50dF9jYXVob2lfIi4kdGFibGUuImAgKAoJCQkJICBgaWRgIGludCgxMSkgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQsCgkJCQkgIGBtYWAgdmFyY2hhcigyMCkgTk9UIE5VTEwsCgkJCQkgIGBtb25ob2NgIGludCgxMSkgTk9UIE5VTEwsCgkJCQkgIGBjaHVkZWAgaW50KDExKSBOT1QgTlVMTCwKCQkJCSAgYGNhdWhvaWAgdGV4dCBOT1QgTlVMTCwKCQkJCSAgYGh1b25nZGFuYCB0ZXh0IERFRkFVTFQgTlVMTCwKCQkJCSAgYHRyYW5ndGhhaWAgdGlueWludCgxKSBOT1QgTlVMTCwKCQkJCSAgYG5ndW9pdGFvYCBpbnQoMTEpIE5PVCBOVUxMLAoJCQkJICBgc2VhcmNoYCB2YXJjaGFyKDgwMCkgTk9UIE5VTEwsCgkJCQkgIFBSSU1BUlkgS0VZKGBpZGApCgkJCQkpIEVOR0lORT1Jbm5vREIgREVGQVVMVCBDSEFSU0VUPXV0ZjggQ09MTEFURT11dGY4X2dlbmVyYWxfY2k7IjsKCQkJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkJCXJldHVybiAkcmVzdWx0OwoJCX0KCX0KCWZ1bmN0aW9uIGRlbGV0ZV90YWJsZSgkbXlzcWxpLCAkdGFibGUpewoJCWlmKCR0aGlzLT5jaGVja190YWJsZV9leGlzdHMoJG15c3FsaSwgJHRhYmxlKSA9PSB0cnVlKXsKCQkJJHF1ZXJ5ID0gIkRST1AgVEFCTEUgYG50dF9jYXVob2lfIi4kdGFibGUuImAiOwoJCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJCXJldHVybiAkcmVzdWx0OwoJCX0KCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19qb2luX3R3b19rZXkoJG15c3FsaSwgJHRhYmxlLCAkdGFibGUyLCAkam9pbjEsICRqb2luMiwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGtxLCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICIuJGtxLiIgRlJPTSAiLiR0YWJsZS4iIExFRlQgT1VURVIgSk9JTiAiLiR0YWJsZTIuIiBPTiAiLiR0YWJsZS4iLiIuJGpvaW4xLiIgPSAiLiR0YWJsZTIuIi4iLiRqb2luMi4iIFdIRVJFICIuJHRhYmxlLiIuIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgQU5EICIuJHRhYmxlLiIuIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBPUkRFUiBCWSAiLiR0YWJsZTIuIi4iLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X2pvaW5fdGhyZWVfa2V5KCRteXNxbGksICR0YWJsZSwgJHRhYmxlMiwgJGpvaW4xLCAkam9pbjIsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAka3EsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgIi4ka3EuIiBGUk9NICIuJHRhYmxlLiIgTEVGVCBPVVRFUiBKT0lOICIuJHRhYmxlMi4iIE9OICIuJHRhYmxlLiIuIi4kam9pbjEuIiA9ICIuJHRhYmxlMi4iLiIuJGpvaW4yLiIgV0hFUkUgIi4kdGFibGUuIi4iLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kdGFibGUuIi4iLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiR0YWJsZS4iLiIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgT1JERVIgQlkgIi4kdGFibGUyLiIuIi4kaWQuIiAiLiRvZGVyOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19saW1pdF9yYW5kX3R3b19rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkbGltaXQsICRzdGFydCl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBPUkRFUiBCWSBSQU5EKCkgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3F";$F7AQ7y1SG4[1]="saVeccbc87e4b5ce2fe28308fd9f2a7baf39xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJLy9nZXQgc3VtCglmdW5jdGlvbiBnZXRfc3VtX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXkpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCBTVU0oIi4kZmllbGQuIikgQVMgIi4ka2V5LiIgRlJPTSAiLiR0YWJsZTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3NbJGtleV07Cgl9CglmdW5jdGlvbiBnZXRfc3VtX2RhdGFfb25lX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGZpZWxkMiwgJGtleTIsICRrZXkpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgU1VNKCIuJGZpZWxkLiIpIEFTICIuJGtleS4iIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3NbJGtleV07Cgl9CglmdW5jdGlvbiBnZXRfc3VtX2RhdGFfdHdvX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAka2V5KXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJHF1ZXJ5ID0gIlNFTEVDVCBTVU0oIi4kZmllbGQuIikgQVMgIi4ka2V5LiIgRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgQU5EICIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93cyA9IG15c3FsaV9mZXRjaF9hcnJheSgkcmVzdWx0LCBNWVNRTElfQVNTT0MpOwoJCXJldHVybiAkcm93c1ska2V5XTsKCX0KCWZ1bmN0aW9uIGdldF9zdW1fZGF0YV90aHJlZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRrZXkpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCBTVU0oIi4kZmllbGQuIikgQVMgIi4ka2V5LiIgRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgQU5EICIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgQU5EICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93cyA9IG15c3FsaV9mZXRjaF9hcnJheSgkcmVzdWx0LCBNWVNRTElfQVNTT0MpOwoJCXJldHVybiAkcm93c1ska2V5XTsKCX0KCWZ1bmN0aW9uIGdldF9zdW1fZGF0YV9mb3VyX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGZpZWxkNCwgJGtleTQsICRrZXkpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTQgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTQpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgU1VNKCIuJGZpZWxkLiIpIEFTICIuJGtleS4iIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIEFORCAiLiRmaWVsZDMuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkzKS4iIEFORCAiLiRmaWVsZDQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk0KTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3NbJGtleV07Cgl9CglmdW5jdGlvbiBnZXRfc3VtX2RhdGFfZml2ZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRmaWVsZDQsICRrZXk0LCAkZmllbGQ1LCAka2V5NSwgJGtleSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5NCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5NCk7CgkJJGtleTUgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTUpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgU1VNKCIuJGZpZWxkLiIpIEFTICIuJGtleS4iIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIEFORCAiLiRmaWVsZDMuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkzKS4iIEFORCAiLiRmaWVsZDQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk0KS4iIEFORCAiLiRmaWVsZDUuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk1KTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3NbJGtleV07Cgl9CgkKCS8vIGdldCBtYXggaWQKCWZ1bmN0aW9uIGdldF9tYXhfZGF0YV9vbmVfa2V5X2NoYXQoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRmaWVsZDQsICRrZXk0LCAkZmllbGQ1LCAka2V5NSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5NCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5NCk7CgkJJGtleTUgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTUpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgTUFYKCIuJGZpZWxkLiIpIEFTICIuJGtleS4iIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAoKCIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgQU5EICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIpIE9SICgiLiRmaWVsZDQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk0KS4iIEFORCAiLiRmaWVsZDUuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk1KS4iKSkiOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93cyA9IG15c3FsaV9mZXRjaF9hcnJheSgkcmVzdWx0LCBNWVNRTElfQVNTT0MpOwoJCXJldHVybiAkcm93c1ska2V5XTsKCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19saW1pdF90d29fa2V5X2NoYXQoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRmaWVsZDQsICRrZXk0LCAkZmllbGQ1LCAka2V5NSwgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTQgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTQpOwoJCSRrZXk1ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXk1KTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAoKCIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgQU5EICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIpIE9SICgiLiRmaWVsZDQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk0KS4iIEFORCAiLiRmaWVsZDUuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk1KS4iKSkgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gY291bnRfdHdvX2tleV9jaGF0KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkZmllbGQ0LCAka2V5NCwgJGZpZWxkNSwgJGtleTUpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTQgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTQpOwoJCSRrZXk1ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXk1KTsKCSAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAoKCIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgQU5EICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIpIE9SICgiLiRmaWVsZDQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk0KS4iIEFORCAiLiRmaWVsZDUuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk1KS4iKSkiOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfSAKCWZ1bmN0aW9uIGdldF9tYXhfZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkkcXVlcnkgPSAiU0VMRUNUIE1BWCgiLiRmaWVsZC4iKSBBUyAiLiRrZXkuIiBGUk9NICIuJHRhYmxlOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93cyA9IG15c3FsaV9mZXRjaF9hcnJheSgkcmVzdWx0LCBNWVNRTElfQVNTT0MpOwoJCXJldHVybiAkcm93c1ska2V5XTsKCX0KCWZ1bmN0aW9uIGdldF9tYXhfZGF0YV9vbmVfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYX";$F7AQ7y1SG4[2]="Blc81e728d9d4c2f636f067f89cc14862cX3N0cmluZygka2V5MSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCBNQVgoIi4kZmllbGQuIikgQVMgIi4ka2V5LiIgRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93cyA9IG15c3FsaV9mZXRjaF9hcnJheSgkcmVzdWx0LCBNWVNRTElfQVNTT0MpOwoJCXJldHVybiAkcm93c1ska2V5XTsKCX0KCWZ1bmN0aW9uIGdldF9tYXhfZGF0YV90d29fa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkkcXVlcnkgPSAiU0VMRUNUIE1BWCgiLiRmaWVsZC4iKSBBUyAiLiRrZXkuIiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBBTkQgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5Mik7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCSRyb3dzID0gbXlzcWxpX2ZldGNoX2FycmF5KCRyZXN1bHQsIE1ZU1FMSV9BU1NPQyk7CgkJcmV0dXJuICRyb3dzWyRrZXldOwoJfQoJLy8gZ2V0IGRhdGEgc2VhcmNoCglmdW5jdGlvbiBsaXN0X3NlYXJjaF9saW1pdF9jb250ZW50KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRsaW1pdCwgJHN0YXJ0LCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScpIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGNvdW50X3NlYXJjaF90d29fa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCSRyb3dfcmVzdWx0ID0gbXlzcWxpX251bV9yb3dzKCRyZXN1bHQpOwoJCXJldHVybiAkcm93X3Jlc3VsdDsgCgl9CglmdW5jdGlvbiBsaXN0X3NlYXJjaF90d29fa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfbGltaXRfdHdvX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRsaW1pdCwgJHN0YXJ0LCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGNvdW50X3NlYXJjaF90aHJlZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5Mil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0KCWZ1bmN0aW9uIGxpc3Rfc2VhcmNoX3RocmVlX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUiAiLiRmaWVsZDIuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkyKS4iJScgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfc2VhcmNoX2xpbWl0X3RocmVlX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGNvdW50X3NlYXJjaF9mb3VyX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5Myl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnIE9SICIuJGZpZWxkMi4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTIpLiIlJyBPUiAiLiRmaWVsZDMuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkzKS4iJSciOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUiAiLiRmaWVsZDIuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkyKS4iJScgT1IgIi4kZmllbGQzLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MykuIiUnIE9SREVSIEJZICIuJGlkLiIgIi4kb2RlcjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3NlYXJjaF9saW1pdF9mb3VyX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUiAiLiRmaWVsZDIuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkyKS4iJScgT1IgIi4kZmllbGQzLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MykuIiUnIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3Fsa";$F7AQ7y1SG4[3]="SwgJa87ff679a2f3e71d9181a67b7542122cHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGNvdW50X3NlYXJjaF9maXZlX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGZpZWxkNCwgJGtleTQpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTQgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTQpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJyBPUiAiLiRmaWVsZDQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXk0KS4iJSciOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfZml2ZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRmaWVsZDQsICRrZXk0LCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXk0ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXk0KTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnIE9SICIuJGZpZWxkMi4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTIpLiIlJyBPUiAiLiRmaWVsZDMuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkzKS4iJSBPUiAiLiRmaWVsZDQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXk0KS4iJScgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfc2VhcmNoX2xpbWl0X2ZpdmVfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkZmllbGQ0LCAka2V5NCwgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTQgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTQpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlIE9SICIuJGZpZWxkNC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTQpLiIlJyBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXIuIiBMSU1JVCAiLiRsaW1pdC4iLCAiLiRzdGFydDsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBjb3VudF9zZWFyY2hfa2V5X3R3b19rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgKCIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnKSI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCSRyb3dfcmVzdWx0ID0gbXlzcWxpX251bV9yb3dzKCRyZXN1bHQpOwoJCXJldHVybiAkcm93X3Jlc3VsdDsgCgl9CglmdW5jdGlvbiBjb3VudF9zZWFyY2hfa2V5X2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkMCwgJGtleTAsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5Myl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5MCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDAuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwKS4iIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykiOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gY291bnRfc2VhcmNoX2tleV9mb3VyX2tleV92YW5iYW4oJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkMDEsICRrZXkwMSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTApLiIgQU5EICIuJGZpZWxkMDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkwMSkuIiUnIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykiOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gY291bnRfb25lX2tleV92YW5iYW4oJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkMDEsICRrZXkwMSl7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgIi4kZmllbGQwMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTAxKS4iJSciOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gY291bnRfc2VhcmNoX3R3b19rZXlfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwMiwgJGtleTAyLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMikuIiBBTkQgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgKCIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnIE9SICIuJGZpZWxkMi4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTIpLiIlJyBPUiAiLiRmaWVsZDMuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkzKS4iJScpIjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0KCWZ1bmN0aW9uIGNvdW50X3NlYXJjaF90aHJlZV9rZXlfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwMiwgJGtleTAyLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkMDEsICRrZXkwMSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5y";$F7AQ7y1SG4[4]="ZWc81e728d9d4c2f636f067f89cc14862cFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAyKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMikuIiBBTkQgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgIi4kZmllbGQwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAxKS4iIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykiOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfa2V5X3R3b19rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgKCIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnKSBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfa2V5X2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkMCwgJGtleTAsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5MCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDAuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwKS4iIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfc2VhcmNoX3R3b19rZXlfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwMiwgJGtleTAyLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMikuIiBBTkQgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgKCIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnIE9SICIuJGZpZWxkMi4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTIpLiIlJyBPUiAiLiRmaWVsZDMuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkzKS4iJScpIE9SREVSIEJZICIuJGlkLiIgIi4kb2RlcjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3NlYXJjaF9rZXlfbGltaXRfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5MCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDAuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwKS4iIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfdHdvX2tleV9saW1pdF9mb3VyX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZDAsICRrZXkwLCAkZmllbGQwMSwgJGtleTAxLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRsaW1pdCwgJHN0YXJ0LCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTApLiJBTkQgIi4kZmllbGQwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAxKS4iIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfdGhyZWVfa2V5X2xpbWl0X2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkMCwgJGtleTAsICRmaWVsZDAxLCAka2V5MDEsICRmaWVsZDAyLCAka2V5MDIsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRrZXkwMiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgIi4kZmllbGQwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAxKS4iIEFORCAiLiRmaWVsZDAyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDIpLiIgQU5EICgiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUiAiLiRmaWVsZDIuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkyKS4iJScgT1IgIi4kZmllbGQzLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MykuIiUnKSBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXIuIiBMSU1JVCAiLiRsaW1pdC4iLCAiLiRzdGFydDsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3NlYXJjaF9rZXlfbGltaXRfZm91cl9rZXlfdmFuYmFuKCRteXNxbGksICR0YWJsZSwgJGZpZWxkMCwgJGtleTAsICRmaWVsZDAxLCAka2V5MDEsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgIi4kZmllbGQwMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTAxKS4iJSc";$F7AQ7y1SG4[5]="gQU5EICgi45c48cce2e2d7fbdea1afc51c7c6ad26LiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUiAiLiRmaWVsZDIuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkyKS4iJScgT1IgIi4kZmllbGQzLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MykuIiUnKSBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXIuIiBMSU1JVCAiLiRsaW1pdC4iLCAiLiRzdGFydDsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3ZpZXdfbGltaXRfb25lX2tleV92YW5iYW4oJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkMDEsICRrZXkwMSwgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTApLiIgQU5EICIuJGZpZWxkMDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkwMSkuIiUnIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGNvdW50X3NlYXJjaF9rZXlfb3JfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwMiwgJGtleTAyLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkMDEsICRrZXkwMSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkka2V5MDIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICgiLiRmaWVsZDAyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDIpLiIpIEFORCAoIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBPUiAiLiRmaWVsZDAxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDEpLiIpIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykiOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfa2V5X29yX2xpbWl0X2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkMDIsICRrZXkwMiwgJGZpZWxkMCwgJGtleTAsICRmaWVsZDAxLCAka2V5MDEsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRrZXkwMiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgKCIuJGZpZWxkMDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMikuIikgQU5EICgiLiRmaWVsZDAuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwKS4iIE9SICIuJGZpZWxkMDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMSkuIikgQU5EICgiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUiAiLiRmaWVsZDIuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkyKS4iJScgT1IgIi4kZmllbGQzLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MykuIiUnKSBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXIuIiBMSU1JVCAiLiRsaW1pdC4iLCAiLiRzdGFydDsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBjb3VudF9hbGxfa2V5X29yKCRteXNxbGksICR0YWJsZSwgJGZpZWxkMDIsICRrZXkwMiwgJGZpZWxkMCwgJGtleTAsICRmaWVsZDAxLCAka2V5MDEpewoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkka2V5MDIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICgiLiRmaWVsZDAyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDIpLiIpIEFORCAoIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBPUiAiLiRmaWVsZDAxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDEpLiIpIjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0KCWZ1bmN0aW9uIGxpc3RfYWxsX2tleV9vcigkbXlzcWxpLCAkdGFibGUsICRmaWVsZDAyLCAka2V5MDIsICRmaWVsZDAsICRrZXkwLCAkZmllbGQwMSwgJGtleTAxLCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRrZXkwMiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgKCIuJGZpZWxkMDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMikuIikgQU5EICgiLiRmaWVsZDAuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwKS4iIE9SICIuJGZpZWxkMDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMSkuIikgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJCglmdW5jdGlvbiBjb3VudF9zZWFyY2hfa2V5X29yX2NuX2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkMDIsICRrZXkwMiwgJGZpZWxkMDAxLCAka2V5MDAxLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkMDEsICRrZXkwMSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkka2V5MDAxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwMDEpOwoJCSRrZXkwMiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAyKS4iIEFORCAiLiRmaWVsZDAwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAwMSkuIiBBTkQgKCIuJGZpZWxkMC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTApLiIgT1IgIi4kZmllbGQwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAxKS4iKSBBTkQgKCIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnIE9SICIuJGZpZWxkMi4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTIpLiIlJyBPUiAiLiRmaWVsZDMuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkzKS4iJScpIjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0KCWZ1bmN0aW9uIGxpc3Rfc2VhcmNoX2tleV9vcl9jbl9saW1pdF9mb3VyX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZDAyLCAka2V5MDIsICRmaWVsZDAwMSwgJGtleTAwMSwgJGZpZWxkMCwgJGtleTAsICRmaWVsZDAxLCAka2V5MDEsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRrZXkwMDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAwMSk7CgkJJGtleTAyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwMik7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDAyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDIpLiIgQU5EICIuJGZpZWxkMDAxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDAxKS4iIEFORCAoIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBPUiAiLiRmaWVsZDAxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDEpLiIpIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQ";$F7AQ7y1SG4[6]="oJZnVu1679091c5a880faf6fb5e6087eb1b2dcY3Rpb24gY291bnRfYWxsX2tleV9vcl9jbigkbXlzcWxpLCAkdGFibGUsICRmaWVsZDAyLCAka2V5MDIsICRmaWVsZDAwMSwgJGtleTAwMSwgJGZpZWxkMCwgJGtleTAsICRmaWVsZDAxLCAka2V5MDEpewoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkka2V5MDAxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwMDEpOwoJCSRrZXkwMiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAyKS4iIEFORCAiLiRmaWVsZDAwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAwMSkuIiBBTkQgKCIuJGZpZWxkMC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTApLiIgT1IgIi4kZmllbGQwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAxKS4iKSI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCSRyb3dfcmVzdWx0ID0gbXlzcWxpX251bV9yb3dzKCRyZXN1bHQpOwoJCXJldHVybiAkcm93X3Jlc3VsdDsgCgl9CglmdW5jdGlvbiBsaXN0X2FsbF9rZXlfb3JfY24oJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwMiwgJGtleTAyLCAkZmllbGQwMDEsICRrZXkwMDEsICRmaWVsZDAsICRrZXkwLCAkZmllbGQwMSwgJGtleTAxLCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRrZXkwMDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAwMSk7CgkJJGtleTAyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwMik7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDAyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDIpLiIgQU5EICIuJGZpZWxkMDAxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDAxKS4iIEFORCAoIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBPUiAiLiRmaWVsZDAxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDEpLiIpIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCQoJLy8gZ2V0IGRhdGEgbGlzdAoJZnVuY3Rpb24gbGlzdF92aWV3X29uZV9rZXlfZ3JvdXAoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRncm91cCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEdST1VQIEJZKCIuJGdyb3VwLiIpIE9SREVSIEJZICIuJGlkLiIgIi4kb2RlcjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3ZpZXdfdHdvX2tleV9ncm91cCgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRncm91cCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBHUk9VUCBCWSgiLiRncm91cC4iKSBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X3RocmVlX2tleV9ncm91cCgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZ3JvdXAsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIEdST1VQIEJZKCIuJGdyb3VwLiIpIE9SREVSIEJZICIuJGlkLiIgIi4kb2RlcjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3ZpZXdfYWxsKCRteXNxbGksICR0YWJsZSwgJGlkLCAkb2Rlcil7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X29uZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X3R3b19rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2RlcjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3ZpZXdfdGhyZWVfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2RlcjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3ZpZXdfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBBTkQgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIiBBTkQgIi4kZmllbGQzLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MykuIiBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X2ZpdmVfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkZmllbGQ0LCAka2V5NCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5NCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5NCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBBTkQgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIiBBTkQgIi4kZmllbGQzLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MykuIiBBTkQgIi4kZmllbGQ0LiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5NCkuIiBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJLy8gZ2V0IGRhdGEgbGlzdCBsaW1pdAoJZnVuY3Rpb24gbGlzdF92aWV3X2xpbWl0X2FsbCgkbXlzcWxpLCAkdGFibGUsICRsaW1pdCwgJHN0YXJ0LCAkaWQsICRvZGVyKXsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19saW1pdF9vbmVfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19saW1pdF90d29fa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgQU5EICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X2xpbWl0X3RocmVlX2tleSgkbXlzc";$F7AQ7y1SG4[7]="WxpLCAkdc9f0f895fb98ab9159f51fd0297e236dGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgQU5EICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgQU5EICIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X2xpbWl0X2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIEFORCAiLiRmaWVsZDMuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkzKS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19saW1pdF90d29fa2V5X2Jsb2coJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICgiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBPUiAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iKSBBTkQgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIiBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXIuIiBMSU1JVCAiLiRsaW1pdC4iLCAiLiRzdGFydDsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3ZpZXdfbGltaXRfdGhyZWVfa2V5X2Jsb2coJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRsaW1pdCwgJHN0YXJ0LCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgKCIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIE9SICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgT1IgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIikgQU5EICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X2xpbWl0X2ZvdXJfa2V5X2Jsb2coJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRmaWVsZDQsICRrZXk0LCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5NCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5NCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAoIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgT1IgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBPUiAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIE9SICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIpIEFORCAiLiRmaWVsZDQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk0KS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19saW1pdF9maXZlX2tleV9ibG9nKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkZmllbGQ0LCAka2V5NCwgJGZpZWxkNSwgJGtleTUsICRsaW1pdCwgJHN0YXJ0LCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXk0ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXk0KTsKCQkka2V5NSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5NSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAoIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgT1IgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBPUiAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIE9SICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIgT1IgIi4kZmllbGQ0LiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5NCkuIikgQU5EICIuJGZpZWxkNS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTUpLiIgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJLy8gZ2V0IGRhdGEgb25lIGZpZWxkIHZhbHVlCglmdW5jdGlvbiBnZXRfcmV0dXJuX29uZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICR2bCl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKICAgICAgICAkcXVlcnkgPSAiU0VMRUNUICIuJHZsLiIgRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3M7Cgl9CQoJZnVuY3Rpb24gZ2V0X3JldHVybl90d29fa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJHZsKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKICAgICAgICAkcXVlcnkgPSAiU0VMRUNUICIuJHZsLiIgRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3M7Cgl9CglmdW5jdGlvbiBnZXRfcmV0dXJuX3RocmVlX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkdmwpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKICAgICAgICAkcXVlcnkgPSAiU0VMRUNUICIuJHZsLiIgRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3M7Cgl9CglmdW5jdGlvbiBnZXRfcmV0dXJuX2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkdmwpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CiAgICAgICAgJHF1ZXJ5ID0gIlNFTEVDVCAiLiR2bC4iIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBBTkQgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIiBBTkQgIi4kZmllbGQzLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5Myk7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCSRyb3dzID0gbXlzcWxpX2ZldGNoX2FycmF5KCRyZXN1bHQsIE1ZU1FMSV9BU1NPQyk7CgkJcmV0dXJuICRyb3dzOwoJfQoJLy8gY291bnQgZGF0YQoJZnVuY3Rpb24gY291bnRfYWxsKCRteXNxbGksICR0YWJsZSl7IAogICAgICAgICRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAogICAgfSAgIAoJZnVuY3Rpb24gY291bnRfb25lX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCSAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5";$F7AQ7y1SG4[8]="KTsKCQ1679091c5a880faf6fb5e6087eb1b2dckkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0KCWZ1bmN0aW9uIGNvdW50X3R3b19rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCSAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0gCglmdW5jdGlvbiBjb3VudF90aHJlZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5Mil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJICAgICRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgQU5EICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgQU5EICIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gY291bnRfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkgICAgJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBBTkQgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIiBBTkQgIi4kZmllbGQzLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5Myk7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCSRyb3dfcmVzdWx0ID0gbXlzcWxpX251bV9yb3dzKCRyZXN1bHQpOwoJCXJldHVybiAkcm93X3Jlc3VsdDsgCgl9CglmdW5jdGlvbiBjb3VudF90d29fa2V5X2Jsb2coJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5Mil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJICAgICRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgKCIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIE9SICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIpIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0KCWZ1bmN0aW9uIGNvdW50X3RocmVlX2tleV9ibG9nKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJICAgICRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgKCIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIE9SICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgT1IgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIikgQU5EICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfSAKCWZ1bmN0aW9uIGNvdW50X2ZvdXJfa2V5X2Jsb2coJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRmaWVsZDQsICRrZXk0KXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXk0ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXk0KTsKCSAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICgiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBPUiAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIE9SICIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgT1IgIi4kZmllbGQzLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MykuIikgQU5EICIuJGZpZWxkNC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTQpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gY291bnRfZml2ZV9rZXlfYmxvZygkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGZpZWxkNCwgJGtleTQsICRmaWVsZDUsICRrZXk1KXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXk0ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXk0KTsKCQkka2V5NSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5NSk7CgkgICAgJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAoIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgT1IgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBPUiAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIE9SICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIgT1IgIi4kZmllbGQ0LiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5NCkuIikgQU5EICIuJGZpZWxkNS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTUpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQkKCS8vIGlzZXJ0IGRhdGEKCWZ1bmN0aW9uIHNhdmVfb25lX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0gCglmdW5jdGlvbiBzYXZlX3R3b19kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIpIFZBTFVFUyAoIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIikiOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfSAKCWZ1bmN0aW9uIHNhdmVfdGhyZWVfZGF0YSgkbXlzcWxpLCAkdGFibGUsICR4MWEsICR4MWIsICR4MmEsICR4MmIsICR4M2EsICR4M2IpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIsICIuJHgzYS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9IAoJZnVuY3Rpb24gc2F2ZV9mb3VyX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIsICIuJHgzYS4iLCAiLiR4NGEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0gCglmdW5jdGlvbiBzYXZlX2ZpdmVfZGF0YSgkbXlzcWxpLCAkdGFibGUsICR4MWEsICR4MWIsICR4MmEsICR4MmIsICR4M2EsICR4M2IsICR4NGEsICR4NGIsICR4NWEsICR4NWIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGUuIiAoIi4keDFhLiIsICI";$F7AQ7y1SG4[9]="uJc81e728d9d4c2f636f067f89cc14862cHgyYS4iLCAiLiR4M2EuIiwgIi4keDRhLiIsICIuJHg1YS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHNhdmVfc2l4X2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGUuIiAoIi4keDFhLiIsICIuJHgyYS4iLCAiLiR4M2EuIiwgIi4keDRhLiIsICIuJHg1YS4iLCAiLiR4NmEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIikiOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfQoJZnVuY3Rpb24gc2F2ZV9zZXZlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGUuIiAoIi4keDFhLiIsICIuJHgyYS4iLCAiLiR4M2EuIiwgIi4keDRhLiIsICIuJHg1YS4iLCAiLiR4NmEuIiwgIi4keDdhLiIpIFZBTFVFUyAoIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg1YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDdiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX2VpZ2h0X2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlLiIgKCIuJHgxYS4iLCAiLiR4MmEuIiwgIi4keDNhLiIsICIuJHg0YS4iLCAiLiR4NWEuIiwgIi4keDZhLiIsICIuJHg3YS4iLCAiLiR4OGEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX25pbmVfZGF0YSgkbXlzcWxpLCAkdGFibGUsICR4MWEsICR4MWIsICR4MmEsICR4MmIsICR4M2EsICR4M2IsICR4NGEsICR4NGIsICR4NWEsICR4NWIsICR4NmEsICR4NmIsICR4N2EsICR4N2IsICR4OGEsICR4OGIsICR4OWEsICR4OWIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIsICIuJHgzYS4iLCAiLiR4NGEuIiwgIi4keDVhLiIsICIuJHg2YS4iLCAiLiR4N2EuIiwgIi4keDhhLiIsICIuJHg5YS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX3Rlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlLiIgKCIuJHgxYS4iLCAiLiR4MmEuIiwgIi4keDNhLiIsICIuJHg0YS4iLCAiLiR4NWEuIiwgIi4keDZhLiIsICIuJHg3YS4iLCAiLiR4OGEuIiwgIi4keDlhLiIsICIuJHgxMGEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTBiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX2VsZXZlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlLiIgKCIuJHgxYS4iLCAiLiR4MmEuIiwgIi4keDNhLiIsICIuJHg0YS4iLCAiLiR4NWEuIiwgIi4keDZhLiIsICIuJHg3YS4iLCAiLiR4OGEuIiwgIi4keDlhLiIsICIuJHgxMGEuIiwgIi4keDExYS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIikiOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfQoJZnVuY3Rpb24gc2F2ZV90d2VsdmVfZGF0YSgkbXlzcWxpLCAkdGFibGUsICR4MWEsICR4MWIsICR4Mm";$F7AQ7y1SG4[10]="Esc81e728d9d4c2f636f067f89cc14862cICR4MmIsICR4M2EsICR4M2IsICR4NGEsICR4NGIsICR4NWEsICR4NWIsICR4NmEsICR4NmIsICR4N2EsICR4N2IsICR4OGEsICR4OGIsICR4OWEsICR4OWIsICR4MTBhLCAkeDEwYiwgJHgxMWEsICR4MTFiLCAkeDEyYSwgJHgxMmIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHgxMmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMmIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIsICIuJHgzYS4iLCAiLiR4NGEuIiwgIi4keDVhLiIsICIuJHg2YS4iLCAiLiR4N2EuIiwgIi4keDhhLiIsICIuJHg5YS4iLCAiLiR4MTBhLiIsICIuJHgxMWEuIiwgIi4keDEyYS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX3RoaXJ0ZWVuX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliLCAkeDEwYSwgJHgxMGIsICR4MTFhLCAkeDExYiwgJHgxMmEsICR4MTJiLCAkeDEzYSwgJHgxM2IpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHgxMmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMmIpOwoJCSR4MTNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTNiKTsKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGUuIiAoIi4keDFhLiIsICIuJHgyYS4iLCAiLiR4M2EuIiwgIi4keDRhLiIsICIuJHg1YS4iLCAiLiR4NmEuIiwgIi4keDdhLiIsICIuJHg4YS4iLCAiLiR4OWEuIiwgIi4keDEwYS4iLCAiLiR4MTFhLiIsICIuJHgxMmEuIiwgIi4keDEzYS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxM2IpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHNhdmVfZm91cnRlZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICR4MWEsICR4MWIsICR4MmEsICR4MmIsICR4M2EsICR4M2IsICR4NGEsICR4NGIsICR4NWEsICR4NWIsICR4NmEsICR4NmIsICR4N2EsICR4N2IsICR4OGEsICR4OGIsICR4OWEsICR4OWIsICR4MTBhLCAkeDEwYiwgJHgxMWEsICR4MTFiLCAkeDEyYSwgJHgxMmIsICR4MTNhLCAkeDEzYiwgJHgxNGEsICR4MTRiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CgkJJHgxMWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMWIpOwoJCSR4MTJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTJiKTsKCQkkeDEzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEzYik7CgkJJHgxNGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNGIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIsICIuJHgzYS4iLCAiLiR4NGEuIiwgIi4keDVhLiIsICIuJHg2YS4iLCAiLiR4N2EuIiwgIi4keDhhLiIsICIuJHg5YS4iLCAiLiR4MTBhLiIsICIuJHgxMWEuIiwgIi4keDEyYS4iLCAiLiR4MTNhLiIsICIuJHgxNGEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTBiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNGIpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHNhdmVfZmlmdGVlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiLCAkeDE0YSwgJHgxNGIsICR4MTVhLCAkeDE1Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkeDEyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEyYik7CgkJJHgxM2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxM2IpOwoJCSR4MTRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTRiKTsKCQkkeDE1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE1Yik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlLiIgKCIuJHgxYS4iLCAiLiR4MmEuIiwgIi4keDNhLiIsICIuJHg0YS4iLCAiLiR4NWEuIiwgIi4keDZhLiIsICIuJHg3YS4iLCAiLiR4OGEuIiwgIi4keDlhLiIsICIuJHgxMGEuIiwgIi4keDExYS4iLCAiLiR4MTJhLiIsICIuJHgxM2EuIiwgIi4keDE0YS4iLCAiLiR4MTVhLiIpIFZBTFVFUyAoIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg1YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDdiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg4YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTFiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTRiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNWIpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHNhdmVfc2l4dGVlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiLCAkeDE0YSwgJHgxNGIsICR4MTVhLCAkeDE1YiwgJHgxNmEsICR4MTZiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKC";$F7AQ7y1SG4[11]="Qkkeccbc87e4b5ce2fe28308fd9f2a7baf3eDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CgkJJHgxMWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMWIpOwoJCSR4MTJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTJiKTsKCQkkeDEzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEzYik7CgkJJHgxNGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNGIpOwoJCSR4MTViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTViKTsKCQkkeDE2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE2Yik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlLiIgKCIuJHgxYS4iLCAiLiR4MmEuIiwgIi4keDNhLiIsICIuJHg0YS4iLCAiLiR4NWEuIiwgIi4keDZhLiIsICIuJHg3YS4iLCAiLiR4OGEuIiwgIi4keDlhLiIsICIuJHgxMGEuIiwgIi4keDExYS4iLCAiLiR4MTJhLiIsICIuJHgxM2EuIiwgIi4keDE0YS4iLCAiLiR4MTVhLiIsICIuJHgxNmEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTBiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE1YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTZiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX3NldmVudGVlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiLCAkeDE0YSwgJHgxNGIsICR4MTVhLCAkeDE1YiwgJHgxNmEsICR4MTZiLCAkeDE3YSwgJHgxN2IpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHgxMmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMmIpOwoJCSR4MTNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTNiKTsKCQkkeDE0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE0Yik7CgkJJHgxNWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNWIpOwoJCSR4MTZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTZiKTsKCQkkeDE3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE3Yik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlLiIgKCIuJHgxYS4iLCAiLiR4MmEuIiwgIi4keDNhLiIsICIuJHg0YS4iLCAiLiR4NWEuIiwgIi4keDZhLiIsICIuJHg3YS4iLCAiLiR4OGEuIiwgIi4keDlhLiIsICIuJHgxMGEuIiwgIi4keDExYS4iLCAiLiR4MTJhLiIsICIuJHgxM2EuIiwgIi4keDE0YS4iLCAiLiR4MTVhLiIsICIuJHgxNmEuIiwgIi4keDE3YS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxM2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE3YikuIikiOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfQoJZnVuY3Rpb24gc2F2ZV9laWdodHRlZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICR4MWEsICR4MWIsICR4MmEsICR4MmIsICR4M2EsICR4M2IsICR4NGEsICR4NGIsICR4NWEsICR4NWIsICR4NmEsICR4NmIsICR4N2EsICR4N2IsICR4OGEsICR4OGIsICR4OWEsICR4OWIsICR4MTBhLCAkeDEwYiwgJHgxMWEsICR4MTFiLCAkeDEyYSwgJHgxMmIsICR4MTNhLCAkeDEzYiwgJHgxNGEsICR4MTRiLCAkeDE1YSwgJHgxNWIsICR4MTZhLCAkeDE2YiwgJHgxN2EsICR4MTdiLCAkeDE4YSwgJHgxOGIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHgxMmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMmIpOwoJCSR4MTNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTNiKTsKCQkkeDE0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE0Yik7CgkJJHgxNWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNWIpOwoJCSR4MTZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTZiKTsKCQkkeDE3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE3Yik7CgkJJHgxOGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxOGIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIsICIuJHgzYS4iLCAiLiR4NGEuIiwgIi4keDVhLiIsICIuJHg2YS4iLCAiLiR4N2EuIiwgIi4keDhhLiIsICIuJHg5YS4iLCAiLiR4MTBhLiIsICIuJHgxMWEuIiwgIi4keDEyYS4iLCAiLiR4MTNhLiIsICIuJHgxNGEuIiwgIi4keDE1YS4iLCAiLiR4MTZhLiIsICIuJHgxN2EuIiwgIi4keDE4YS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxM2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MThiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX25pbmV0ZWVuX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliLCAkeDEwYSwgJHgxMGIsICR4MTFhLCAkeDExYiwgJHgxMmEsICR4MTJiLCAkeDEzYSwgJHgxM2IsICR4MTRhLCAkeDE0YiwgJHgxNWEsICR4MTViLCAkeDE2YSwgJHgxNmIsICR4MTdhLCAkeDE3YiwgJHgxOGEsICR4MThiLCAkeDE5YSwgJHgxOWIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHgxMmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMmIpOwoJCSR4MTNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTNiKTsKCQkkeDE0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE0Yik7CgkJJHgxNWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNWIpOwoJCSR4MTZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTZiKTsKCQkkeDE3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE3Yik7CgkJJHgxOGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxOGIpOwoJCSR4MTliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTliKTsKCQkkcXVlcnkg";$F7AQ7y1SG4[12]="Pc4ca4238a0b923820dcc509a6f75849bSAiSU5TRVJUIElOVE8gIi4kdGFibGUuIiAoIi4keDFhLiIsICIuJHgyYS4iLCAiLiR4M2EuIiwgIi4keDRhLiIsICIuJHg1YS4iLCAiLiR4NmEuIiwgIi4keDdhLiIsICIuJHg4YS4iLCAiLiR4OWEuIiwgIi4keDEwYS4iLCAiLiR4MTFhLiIsICIuJHgxMmEuIiwgIi4keDEzYS4iLCAiLiR4MTRhLiIsICIuJHgxNWEuIiwgIi4keDE2YS4iLCAiLiR4MTdhLiIsICIuJHgxOGEuIiwgIi4keDE5YS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxM2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MThiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxOWIpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHNhdmVfdHdlbnR5X2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliLCAkeDEwYSwgJHgxMGIsICR4MTFhLCAkeDExYiwgJHgxMmEsICR4MTJiLCAkeDEzYSwgJHgxM2IsICR4MTRhLCAkeDE0YiwgJHgxNWEsICR4MTViLCAkeDE2YSwgJHgxNmIsICR4MTdhLCAkeDE3YiwgJHgxOGEsICR4MThiLCAkeDE5YSwgJHgxOWIsICR4MjBhLCAkeDIwYil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkeDEyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEyYik7CgkJJHgxM2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxM2IpOwoJCSR4MTRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTRiKTsKCQkkeDE1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE1Yik7CgkJJHgxNmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNmIpOwoJCSR4MTdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTdiKTsKCQkkeDE4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE4Yik7CgkJJHgxOWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxOWIpOwoJCSR4MjBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MjBiKTsKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGUuIiAoIi4keDFhLiIsICIuJHgyYS4iLCAiLiR4M2EuIiwgIi4keDRhLiIsICIuJHg1YS4iLCAiLiR4NmEuIiwgIi4keDdhLiIsICIuJHg4YS4iLCAiLiR4OWEuIiwgIi4keDEwYS4iLCAiLiR4MTFhLiIsICIuJHgxMmEuIiwgIi4keDEzYS4iLCAiLiR4MTRhLiIsICIuJHgxNWEuIiwgIi4keDE2YS4iLCAiLiR4MTdhLiIsICIuJHgxOGEuIiwgIi4keDE5YS4iLCAiLiR4MjBhLiIpIFZBTFVFUyAoIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg1YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDdiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg4YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTFiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTRiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE2YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTdiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxOGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE5YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MjBiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CgkKCS8vIHVwZGF0ZSBkYXRhCglmdW5jdGlvbiB1cGRhdGVfb25lX2RhdGFfdHdvX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICR4MWEsICR4MWIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgQU5EICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfQoJZnVuY3Rpb24gdXBkYXRlX29uZV9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSRxdWVyeSA9ICJVUERBVEUgIi4kdGFibGUuIiBTRVQgIi4keDFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0gCglmdW5jdGlvbiB1cGRhdGVfdHdvX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICR4MWEsICR4MWIsICR4MmEsICR4MmIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfSAKCWZ1bmN0aW9uIHVwZGF0ZV90aHJlZV9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4keDNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0gCglmdW5jdGlvbiB1cGRhdGVfZm91cl9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSRxdWVyeSA9ICJVUERBVEUgIi4kdGFibGUuIiBTRVQgIi4keDFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHgyYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR4M2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4keDRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0gCglmdW5jdGlvbiB1cGRhdGVfZml2ZV9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHVwZGF0ZV9zaXhfZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2F";$F7AQ7y1SG4[13]="wZV9a87ff679a2f3e71d9181a67b7542122czdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHg2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfc2V2ZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4keDNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHg0YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR4NWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4keDZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHg3YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfZWlnaHRfZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSRxdWVyeSA9ICJVUERBVEUgIi4kdGFibGUuIiBTRVQgIi4keDFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHgyYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR4M2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4keDRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iLCIuJHg1YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg1YikuIiwiLiR4NmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NmIpLiIsIi4keDdhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDdiKS4iLCIuJHg4YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg4YikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfbmluZV9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4keDNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHg0YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR4NWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4keDZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHg3YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR4OGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4keDlhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHVwZGF0ZV90ZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CQoJCSRxdWVyeSA9ICJVUERBVEUgIi4kdGFibGUuIiBTRVQgIi4keDFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHgyYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR4M2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4keDRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iLCIuJHg1YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg1YikuIiwiLiR4NmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NmIpLiIsIi4keDdhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDdiKS4iLCIuJHg4YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg4YikuIiwiLiR4OWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OWIpLiIsIi4keDEwYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfQoJZnVuY3Rpb24gdXBkYXRlX2VsZXZlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliLCAkeDEwYSwgJHgxMGIsICR4MTFhLCAkeDExYil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4keDNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHg0YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR4NWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4keDZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHg3YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR4OGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4keDlhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHgxMGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTBiKS4iLCIuJHgxMWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTFiKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHVwZGF0ZV90d2VsdmVfZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYi";$F7AQ7y1SG4[14]="k7CgkJJ8f14e45fceea167a5a36dedd4bea2543Hg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkeDEyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEyYik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHg2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR4N2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4keDhhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHg5YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR4MTBhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR4MTFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR4MTJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfdGhpcnRlZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CgkJJHgxMWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMWIpOwoJCSR4MTJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTJiKTsKCQkkeDEzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEzYik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHg2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR4N2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4keDhhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHg5YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR4MTBhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR4MTFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR4MTJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiwiLiR4MTNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEzYikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfZm91cnRlZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiLCAkeDE0YSwgJHgxNGIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHgxMmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMmIpOwoJCSR4MTNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTNiKTsKCQkkeDE0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE0Yik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHg2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR4N2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4keDhhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHg5YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR4MTBhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR4MTFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR4MTJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiwiLiR4MTNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEzYikuIiwiLiR4MTRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE0YikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfZmlmdGVlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliLCAkeDEwYSwgJHgxMGIsICR4MTFhLCAkeDExYiwgJHgxMmEsICR4MTJiLCAkeDEzYSwgJHgxM2IsICR4MTRhLCAkeDE0YiwgJHgxNWEsICR4MTViKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CgkJJHgxMWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMWIpOwoJCSR4MTJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTJiKTsKCQkkeDEzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEzYik7CgkJJHgxNGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNGIpOwoJCSR4MTViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTViKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4keDNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHg0YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR4NWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4keDZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHg3YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR4OGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4keDlhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHgxMGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTBiKS4iLCIuJHgxMWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTFiKS4iLCIuJHgxMmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iLCIuJHgxM2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTNiKS4iLCIuJHgxNGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTRiKS4iLCIuJHgxNWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTViKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHVwZGF0ZV9zaXh0ZWVuX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICR4MWEsICR4MWIsICR4MmEsICR4MmIsICR4M2EsICR4M2IsICR4NGEsICR4NGIsICR4NWEsICR4NWIsICR4NmEsICR4NmIsICR4N2EsICR4N2IsICR4OGEsICR4OGIsICR4OWEsICR4OWIsICR4MTBhLCAkeDEwYiwgJHgxMWEsICR4MTFiLCAkeDEyYSwgJHgxMmIsICR4MTNhLCAkeDEzYiwgJHgxNGEsICR4MTRiLCAkeDE1YSwgJHgxNWIsICR4MTZhLCAkeDE2Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgP";$F7AQ7y1SG4[15]="SAkeccbc87e4b5ce2fe28308fd9f2a7baf3bXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkeDEyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEyYik7CgkJJHgxM2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxM2IpOwoJCSR4MTRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTRiKTsKCQkkeDE1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE1Yik7CgkJJHgxNmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNmIpOwoJCSRxdWVyeSA9ICJVUERBVEUgIi4kdGFibGUuIiBTRVQgIi4keDFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHgyYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR4M2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4keDRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iLCIuJHg1YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg1YikuIiwiLiR4NmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NmIpLiIsIi4keDdhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDdiKS4iLCIuJHg4YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg4YikuIiwiLiR4OWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OWIpLiIsIi4keDEwYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4keDExYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMWIpLiIsIi4keDEyYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMmIpLiIsIi4keDEzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxM2IpLiIsIi4keDE0YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNGIpLiIsIi4keDE1YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNWIpLiIsIi4keDE2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNmIpLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfQoJZnVuY3Rpb24gdXBkYXRlX3NldmVudGVlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliLCAkeDEwYSwgJHgxMGIsICR4MTFhLCAkeDExYiwgJHgxMmEsICR4MTJiLCAkeDEzYSwgJHgxM2IsICR4MTRhLCAkeDE0YiwgJHgxNWEsICR4MTViLCAkeDE2YSwgJHgxNmIsICR4MTdhLCAkeDE3Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkeDEyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEyYik7CgkJJHgxM2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxM2IpOwoJCSR4MTRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTRiKTsKCQkkeDE1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE1Yik7CgkJJHgxNmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNmIpOwoJCSR4MTdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTdiKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4keDNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHg0YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR4NWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4keDZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHg3YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR4OGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4keDlhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHgxMGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTBiKS4iLCIuJHgxMWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTFiKS4iLCIuJHgxMmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iLCIuJHgxM2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTNiKS4iLCIuJHgxNGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTRiKS4iLCIuJHgxNWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTViKS4iLCIuJHgxNmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTZiKS4iLCIuJHgxN2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTdiKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHVwZGF0ZV9laWdodHRlZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiLCAkeDE0YSwgJHgxNGIsICR4MTVhLCAkeDE1YiwgJHgxNmEsICR4MTZiLCAkeDE3YSwgJHgxN2IsICR4MThhLCAkeDE4Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkeDEyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEyYik7CgkJJHgxM2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxM2IpOwoJCSR4MTRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTRiKTsKCQkkeDE1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE1Yik7CgkJJHgxNmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNmIpOwoJCSR4MTdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTdiKTsKCQkkeDE4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE4Yik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHg2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR4N2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4keDhhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHg5YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR4MTBhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR4MTFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR4MTJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiwiLiR4MTNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEzYikuIiwiLiR4MTRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE0YikuIiwiLiR4MTVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE1YikuIiwiLiR4MTZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE2YikuIiwiLiR4MTdhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE3YikuIiwiLiR4MThhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE4YikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfbmluZXRlZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiLCAkeDE0YSwgJHgxNGIsICR4MTVhLCAkeDE1YiwgJHgxNmEsICR4MTZiLCAkeDE3YSwgJHgxN2IsICR4MThhLCAkeDE4YiwgJHgxOWEsICR4MTliKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CgkJJHgxMWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMWIpOwoJCSR4MTJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTJiKTsKCQkkeDEzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEzYik7CgkJJHgxNGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNGIpOwoJCSR4MTViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTViKTsKCQkkeDE2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE2Yik7CgkJJHgxN2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxN2IpOwoJCSR4MThiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MThiKTsKCQkkeDE5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0";$F7AQ7y1SG4[16]="cmluZygke45c48cce2e2d7fbdea1afc51c7c6ad26DE5Yik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHg2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR4N2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4keDhhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHg5YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR4MTBhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR4MTFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR4MTJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiwiLiR4MTNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEzYikuIiwiLiR4MTRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE0YikuIiwiLiR4MTVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE1YikuIiwiLiR4MTZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE2YikuIiwiLiR4MTdhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE3YikuIiwiLiR4MThhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE4YikuIiwiLiR4MTlhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE5YikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CgkvLyBkZWxldGUgZGF0YQoJZnVuY3Rpb24gZGVsZXRlX2RhdGFfb25lX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkkcXVlcnkgPSAiREVMRVRFIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7Cgl9CglmdW5jdGlvbiBkZWxldGVfZGF0YV90d29fa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgQU5EICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwoJfQoJLy8gcmFuZG9tIENhcHRjaGEKCWZ1bmN0aW9uIHJhbmRvbV9zdHJpbmcoJGxlbmd0aCA9IDYpewoJCSRjaGFyYWN0ZXJzID0gJzIzNDU2Nzg5QUJDREVGR0hKS01OUFFSU1RVVldYWVonOwoJCSRjaGFyYWN0ZXJzTGVuZ3RoID0gc3RybGVuKCRjaGFyYWN0ZXJzKTsKCQkkcmFuZG9tU3RyaW5nID0gJyc7CgkJZm9yICgkaSA9IDA7ICRpIDwgJGxlbmd0aDsgJGkrKykgewoJCQkkcmFuZG9tU3RyaW5nIC49ICRjaGFyYWN0ZXJzW3JhbmQoMCwgJGNoYXJhY3RlcnNMZW5ndGggLSAxKV07CgkJfQoJCXJldHVybiAkcmFuZG9tU3RyaW5nOwoJfQoJCglmdW5jdGlvbiByYW5kb21fY2hhcigkY2hhcj1udWxsKXsKCQkkbGVuZ3RoID0gc3RybGVuKCRjaGFyKTsKCQkkU3RyaW5nID0gJyc7CgkJZm9yICgkaSA9IDA7ICRpIDwgJGxlbmd0aDsgJGkrKykgewoJCQkkU3RyaW5nIC49IHN1YnN0cigkY2hhciwkaSwxKTsKCQkJJHIgPSByYW5kKDEsNCk7CgkJCWlmKCRyID09IDEpCgkJCSRhZGRjaGFyID0gJzxzcGFuIHN0eWxlPSJjb2xvcjogI2Y5YzdhZTsgZm9udC1zaXplOiAwcHg7Ij4nLiRpLicxQicuJHIuJzYyQTwvc3Bhbj4nOwoJCQllbHNlIGlmKCRyID09IDIpCgkJCSRhZGRjaGFyID0gJzxiIHN0eWxlPSJjb2xvcjogI2YyOGM4NzsgZm9udC1zaXplOiAwcHg7Ij40RicuJHIuJzc1RycuJGkuJzwvYj4nOwoJCQllbHNlIGlmKCRyID09IDMpCgkJCSRhZGRjaGFyID0gJzxzcGFuIHN0eWxlPSJjb2xvcjogI2ZiZDliYTsgZm9udC1zaXplOiAwcHg7Ij5EJy4kci4nSksnLiRpLic5PC9zcGFuPic7CgkJCWVsc2UgJGFkZGNoYXIgPSAnPGkgc3R5bGU9ImNvbG9yOiAjZmJkOGJhOyBmb250LXNpemU6IDBweDsiPicuJHIuJ04zJy4kaS4nTEo8L2k+JzsKCQkJJFN0cmluZyAuPSAkYWRkY2hhcjsKCQl9CgkJcmV0dXJuICRTdHJpbmc7Cgl9CglmdW5jdGlvbiByYW5kb21fbGlzdG51bWJlcigkbGVuZ3RoID0gNil7CgkJJGNoYXJhY3RlcnMgPSAnMDEyMzQ1Njc4OSc7CgkJJGNoYXJhY3RlcnNMZW5ndGggPSBzdHJsZW4oJGNoYXJhY3RlcnMpOwoJCSRyYW5kb21TdHJpbmcgPSAnJzsKCQlmb3IgKCRpID0gMDsgJGkgPCAkbGVuZ3RoOyAkaSsrKSB7CgkJCSRyYW5kb21TdHJpbmcgLj0gJGNoYXJhY3RlcnNbcmFuZCgwLCAkY2hhcmFjdGVyc0xlbmd0aCAtIDEpXTsKCQl9CgkJcmV0dXJuICRyYW5kb21TdHJpbmc7Cgl9CglmdW5jdGlvbiByYW5nZV9udW0oJG1pbiwgJG1heCwgJHF1YW50aXR5KXsKCQkkbnVtYmVycyA9IHJhbmdlKCRtaW4sICRtYXgpOwoJCXNodWZmbGUoJG51bWJlcnMpOwoJCXJldHVybiBhcnJheV9zbGljZSgkbnVtYmVycywgMCwgJHF1YW50aXR5KTsKCX0KCS8vIHNlc3Npb24KCWZ1bmN0aW9uIHNlc3Npb25fc2V0KCRuYW1lLCAkdmFsdWUpewoJCSRuYW1lX3NzID0gJ3NzSURfJy5zdWJzdHIoc2hhMSgkbmFtZS5kYXRlKCJZbWQiKSksMCwxNSk7CgkJJF9TRVNTSU9OWyRuYW1lX3NzXSA9ICR2YWx1ZTsKCX0KCWZ1bmN0aW9uIHNlc3Npb25fZ2V0KCRuYW1lKXsKCQkkbmFtZV9zcyA9ICdzc0lEXycuc3Vic3RyKHNoYTEoJG5hbWUuZGF0ZSgiWW1kIikpLDAsMTUpOwoJCWlmKGlzc2V0KCRfU0VTU0lPTlskbmFtZV9zc10pKQoJCXJldHVybiAkX1NFU1NJT05bJG5hbWVfc3NdOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwoJfQoJZnVuY3Rpb24gc2Vzc2lvbl9jbGVhcigkbmFtZSl7CgkJJG5hbWVfc3MgPSAnc3NJRF8nLnN1YnN0cihzaGExKCRuYW1lLmRhdGUoIlltZCIpKSwwLDE1KTsKCQl1bnNldCgkX1NFU1NJT05bJG5hbWVfc3NdKTsKCX0KCS8vIGdldCwgcG9zdAoJZnVuY3Rpb24gcG9zdF9kYXRhKCR2YWx1ZSl7CgkJaWYoaXNzZXQoJF9QT1NUWyR2YWx1ZV0pKXsKCQkJJHBvc3QgPSAkX1BPU1RbJHZhbHVlXTsKCQkJcmV0dXJuICRwb3N0OwoJCX0gZWxzZSBpZigkdmFsdWUgPT0gJ2FsbCcpewoJCQlpZihpc3NldCgkX1BPU1QpKQoJCQkJcmV0dXJuICRfUE9TVDsKCQkJZWxzZSByZXR1cm4gRkFMU0U7CgkJfSBlbHNlIHJldHVybiBGQUxTRTsKCX0KCWZ1bmN0aW9uIGdldF9kYXRhKCR2YWx1ZSl7CgkJaWYoaXNzZXQoJF9HRVRbJHZhbHVlXSkpewoJCQkkZ2V0ID0gJF9HRVRbJHZhbHVlXTsKCQkJcmV0dXJuICRnZXQ7CgkJfSBlbHNlIHJldHVybiBGQUxTRTsKCX0KCS8vIGdldCBpbmZvIGRldmljZQoJZnVuY3Rpb24gZ2V0X3VzZXJfaXAoKXsKICAgICAgICBpZighZW1wdHkoJF9TRVJWRVJbJ0hUVFBfQ0xJRU5UX0lQJ10pKXsKICAgICAgICAgICAgJGlwID0gJF9TRVJWRVJbJ0hUVFBfQ0xJRU5UX0lQJ107CiAgICAgICAgfWVsc2VpZighZW1wdHkoJF9TRVJWRVJbJ0hUVFBfWF9GT1JXQVJERURfRk9SJ10pKXsKICAgICAgICAgICAgJGlwID0gJF9TRVJWRVJbJ0hUVFBfWF9GT1JXQVJERURfRk9SJ107CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICRpcCA9ICRfU0VSVkVSWydSRU1PVEVfQUREUiddOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGlwOwogICAgfQoJZnVuY3Rpb24gZ2V0X3VzZXJfc2VjdXJpdHlfY29kZSgkY29kZSl7CgkJJHVzZXJhZ2VudCA9ICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXTsKCQlpZihwcmVnX21hdGNoKCcvKGFuZHJvaWR8YmJcZCt8bWVlZ28pLittb2JpbGV8YXZhbnRnb3xiYWRhXC98YmxhY2tiZXJyeXxibGF6ZXJ8Y29tcGFsfGVsYWluZXxmZW5uZWN8aGlwdG9wfGllbW9iaWxlfGlwKGhvbmV8b2QpfGlyaXN8a2luZGxlfGxnZSB8bWFlbW98bWlkcHxtbXB8bmV0ZnJvbnR8b3BlcmEgbShvYnxpbilpfHBhbG0oIG9zKT98cGhvbmV8cChpeGl8cmUpXC98cGx1Y2tlcnxwb2NrZXR8cHNwfHNlcmllcyg0fDYpMHxzeW1iaWFufHRyZW98dXBcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIChjZXxwaG9uZSl8eGRhfHhpaW5vL2knLCR1c2VyYWdlbnQpfHxwcmVnX21hdGNoKCcvMTIwN3w2MzEwfDY1OTB8M2dzb3w0dGhwfDUwWzEtNl1pfDc3MHN8ODAyc3xhIHdhfGFiYWN8YWMoZXJ8b298c1wtKXxhaShrb3xybil8YWwoYXZ8Y2F8Y28pfGFtb2l8YW4oZXh8bnl8eXcpfGFwdHV8YXIoY2h8Z28pfGFzKHRlfHVzKXxhdHR3fGF1KGRpfFwtbXxyIHxzICl8YXZhbnxiZShja3xsbHxucSl8YmkobGJ8cmQpfGJsKGFjfGF6KXxicihlfHYpd3xidW1ifGJ3XC0obnx1KXxjNTVcL3xjYXBpfGNjd2F8Y2RtXC18Y2VsbHxjaHRtfGNsZGN8Y21kXC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGNcLXN8ZGV2aXxkaWNhfGRtb2J8ZG8oY3xwKW98ZHMoMTJ8XC1kKXxlbCg0OXxhaSl8ZW0obDJ8dWwpfGVyKGljfGswKXxlc2w4fGV6KFs0LTddMHxvc3x3YXx6ZSl8ZmV0Y3xmbHkoXC18Xyl8ZzEgdXxnNTYwfGdlbmV8Z2ZcLTV8Z1wtbW98Z28oXC53fG9kKXxncihhZHx1bil8aGFpZXxoY2l0fGhkXC0obXxwfHQpfGhlaVwtfGhpKHB0fHRhKXxocCggaXxpcCl8aHNcLWN8aHQoYyhcLXwgfF98YXxnfHB8c3x0KXx0cCl8aHUoYXd8dGMpfGlcLSgyMHxnb3xtYSl8aTIzMHxpYWMoIHxcLXxcLyl8aWJyb3xpZGVhfGlnMDF8aWtvbXxpbTFrfGlubm98aXBhcXxpcmlzfGphKHR8dilhfGpicm98amVtdXxqaWdzfGtkZGl8a2VqaXxrZ3QoIHxcLyl8a2xvbnxrcHQgfGt3Y1wtfGt5byhjfGspfGxlKG5vfHhpKXxsZyggZ3xcLyhrfGx8dSl8NTB8NTR8XC1bYS13XSl8bGlid3xseW54fG0xXC13fG0zZ2F8bTUwXC98bWEodGV8dWl8eG8pfG1jKDAxfDIxfGNhKXxtXC1jcnxtZShyY3xyaSl8bWkobzh8b2F8dHMpfG1tZWZ8bW8oMDF8MDJ8Yml8ZGV8ZG98dChcLXwgfG98dil8enopfG10KDUwfHAxfHYgKXxtd2JwfG15d2F8bjEwWzAtMl18bjIwWzItM118bjMwKDB8Mil8bjUwKDB8Mnw1KXxuNygwKDB8MSl8MTApfG5lKChjfG0pXC18b258dGZ8d2Z8d2d8d3QpfG5vayg2fGkpfG56cGh8bzJpbXxvcCh0aXx3dil8b3Jhbnxvd2cxfHA4MDB8cGFuKGF8ZHx0KXxwZHhnfHBnKDEzfFwtKFsxLThdfGMpKXxwaGlsfHBpcmV8cGwoYXl8dWMpfHBuXC0yfHBvKGNrfHJ0fHNlKXxwcm94fHBzaW98cHRcLWd8cWFcLWF8cWMoMDd8MTJ8MjF8MzJ8NjB8XC1bMi03XXxpXC0pfHF0ZWt8cjM4MHxyNjAwfHJha3N8cmltOXxybyh2ZXx6byl8czU1XC98c2EoZ2V8bWF8bW18bXN8bnl8dmEpfHNjKDAxfGhcLXxvb3xwXC0pfHNka1wvfHNlKGMoXC18MHwxKXw0N3xtY3xuZHxyaSl8c2doXC18c2hhcnxzaWUoXC18bSl8c2tcLTB8c2woNDV8aWQpfHNtKGFsfGFyfGIzfGl0fHQ1KXxzbyhmdHxueSl8c3AoMDF8aFwtfHZcLXx2ICl8c3koMDF8bWIpfHQyKDE4fDUwKXx0NigwMHwxMHwxOCl8dGEoZ3R8bGspfHRjbFwtfHRkZ1wtfHRlbChpfG0pfHRpbVwtfHRcLW1vfHRvKHBsfHNoKXx0cyg3MHxtXC18bTN8bTUpfHR4XC05fHVwKFwuYnxnMXxzaSl8dXRzdHx2NDAwfHY3NTB8dmVyaXx2aShyZ3x0ZSl8dmsoNDB8NVswLTNdfFwtdil8dm00MHx2b2RhfHZ1bGN8dngoNTJ8NTN8NjB8NjF8NzB8ODB8ODF8ODN8ODV8OTgpfHczYyhcLXwgKXx3ZWJjfHdoaXR8d2koZyB8bmN8bncpfHdtbGJ8d29udXx4NzAwfHlhc1wtfHlvdXJ8emV0b3x6dGVcLS9pJyxzdWJzdHIoJHVzZXJhZ2VudCwwLDQpKSl7ICAgICAgCgkJCSRyZXN1bHQgPSBtZDUoJGNvZGUuJ18nLiR1c2VyYWdlbnQpOwoJCX0gZWxzZXsKCQkJJHJlc3VsdCA9IG1kNSgkY29kZS4kdGhpcy0+Z2V0X3VzZXJfaXAoKS4nXycuJHVzZXJhZ2VudCk7CgkJfQogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoJCglmdW5jdGlvbiBnZXRPcygpewoJICAkdXNlcl9hZ2VudCA9ICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXTsKCSAgJG9zID0gYXJyYXkoCgkJJ1dpbmRvd3MgTlQnID0+ICdXaW5kb3dzIE5UJywKCQknTWFjJyA9PiAnTWFjaW50b3NoJywKCQknTGludXgnID0+ICdMaW51eCcsCgkJJ0FuZHJvaWQnID0+ICdBbmRyb2lkJywKCQknaU9TJyA9PiAnaVBob25lJywKCQknQmxhY2tCZXJyeScgPT4gJ0JsYWNrQmVycnknLAo";$F7AQ7y1SG4[17]="JCSdXe4da3b7fbbce2345d7772b0674a318d5aW5kb3dzIFBob25lJyA9PiAnV2luZG93cyBQaG9uZScsCgkgICk7CgkgIGZvcmVhY2ggKCRvcyBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCWlmIChzdHJwb3MoJHVzZXJfYWdlbnQsICRrZXkpICE9PSBmYWxzZSkgewoJCSAgcmV0dXJuICR2YWx1ZTsKCQl9CgkgIH0KCSAgcmV0dXJuICJVbmtub3duIjsKCX0KCQoJZnVuY3Rpb24gZ2V0QnJvd3NlcigpewoJICAkdXNlcl9hZ2VudCA9ICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXTsKCSAgJGJyb3dzZXJzID0gYXJyYXkoCgkJJ0Nocm9tZScgPT4gJ0Nocm9tZScsCgkJJ0ZpcmVmb3gnID0+ICdGaXJlZm94JywKCQknSW50ZXJuZXQgRXhwbG9yZXInID0+ICdJbnRlcm5ldCBFeHBsb3JlcicsCgkJJ1NhZmFyaScgPT4gJ1NhZmFyaScsCgkJJ09wZXJhJyA9PiAnT3BlcmEnLAoJCSdFZGdlJyA9PiAnRWRnZScsCgkJJ1lhbmRleCcgPT4gJ1lhbmRleCcsCgkJJ0JyYXZlJyA9PiAnQnJhdmUnLAoJCSdWaXZhbGRpJyA9PiAnVml2YWxkaScsCgkgICk7CgkgIGZvcmVhY2ggKCRicm93c2VycyBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCWlmIChzdHJwb3MoJHVzZXJfYWdlbnQsICRrZXkpICE9PSBmYWxzZSkgewoJCSAgcmV0dXJuICR2YWx1ZTsKCQl9CgkgIH0KCSAgcmV0dXJuICJVbmtub3duIjsKCX0KCQoJZnVuY3Rpb24gemlwX2ZpbGUoKXsKCQlyZXF1aXJlX29uY2UgJ0xpYnJhcmllcy96aXAucGhwJzsKCQkkemlwZmlsZSA9IG5ldyBaaXAoKTsKCQlyZXR1cm4gJHppcGZpbGU7Cgl9CgkKCS8vIHNlbmQgbWFpbAoJCglmdW5jdGlvbiBzZW5kX21haWwoJGZyb20sJG5hbWUsJHRvLCRzdWJqZWN0LCRjb250YWN0KXsKCQlyZXF1aXJlX29uY2UgJ0xpYnJhcmllcy9lbWFpbC5waHAnOwoJCSRlbWFpbCA9IG5ldyBFbWFpbCgpOwoJCSRjb25maWcgPSBhcnJheSgKCQkgICAgJ3Byb3RvY29sJyAgPT4gRV9QUk9UT0NPTCwKCQkJJ3NtdHBfY3J5cHRvJyA9PiBFX1NNVFBfQ1JZUFRPLAoJCSAgICAnc210cF9ob3N0JyA9PiBFX1NNVFBfSE9TVCwKCQkgICAgJ3NtdHBfcG9ydCcgPT4gRV9TTVRQX1BPUlQsCgkJICAgICdzbXRwX3VzZXInID0+IEVfU01UUF9VU0VSLAoJCSAgICAnc210cF9wYXNzJyA9PiBFX1NNVFBfUEFTUywKCQkgICAgJ21haWx0eXBlJyAgPT4gJ2h0bWwnLAoJCSAgICAnY2hhcnNldCcgICA9PiAndXRmLTgnCgkJKTsKCQkkZW1haWwtPmluaXRpYWxpemUoJGNvbmZpZyk7CgkJJGVtYWlsLT5zZXRfbWFpbHR5cGUoImh0bWwiKTsKCQkkZW1haWwtPnNldF9uZXdsaW5lKCJcclxuIik7CgkJJGVtYWlsLT5mcm9tKEVfU01UUF9VU0VSLCAkbmFtZSk7CgkJJGVtYWlsLT50bygkdG8pOwoJCSRlbWFpbC0+c3ViamVjdCgkc3ViamVjdCk7CgkJJGVtYWlsLT5tZXNzYWdlKCRjb250YWN0KTsKCQlpZigkZW1haWwtPnNlbmQoKSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKCX0KCWZ1bmN0aW9uIHNlbmRfbWFpbF9hdHRhY2goJGZyb20sJG5hbWUsJHRvLCRzdWJqZWN0LCRjb250YWN0LCRmaWxlKXsKCQlyZXF1aXJlX29uY2UgJ0xpYnJhcmllcy9lbWFpbC5waHAnOwoJCSRlbWFpbCA9IG5ldyBFbWFpbCgpOwoJCSRjb25maWcgPSBhcnJheSgKCQkgICAgJ3Byb3RvY29sJyAgPT4gRV9QUk9UT0NPTCwKCQkJJ3NtdHBfY3J5cHRvJyA9PiBFX1NNVFBfQ1JZUFRPLAoJCSAgICAnc210cF9ob3N0JyA9PiBFX1NNVFBfSE9TVCwKCQkgICAgJ3NtdHBfcG9ydCcgPT4gRV9TTVRQX1BPUlQsCgkJICAgICdzbXRwX3VzZXInID0+IEVfU01UUF9VU0VSLAoJCSAgICAnc210cF9wYXNzJyA9PiBFX1NNVFBfUEFTUywKCQkgICAgJ21haWx0eXBlJyAgPT4gJ2h0bWwnLAoJCSAgICAnY2hhcnNldCcgICA9PiAndXRmLTgnCgkJKTsKCQkkZW1haWwtPmluaXRpYWxpemUoJGNvbmZpZyk7CgkJJGVtYWlsLT5hdHRhY2goJGZpbGUpOwoJCSRlbWFpbC0+c2V0X21haWx0eXBlKCJodG1sIik7CgkJJGVtYWlsLT5zZXRfbmV3bGluZSgiXHJcbiIpOwoJCSRlbWFpbC0+ZnJvbShFX1NNVFBfVVNFUiwgJG5hbWUpOwoJCSRlbWFpbC0+dG8oJHRvKTsKCQkkZW1haWwtPnN1YmplY3QoJHN1YmplY3QpOwoJCSRlbWFpbC0+bWVzc2FnZSgkY29udGFjdCk7CgkJaWYoJGVtYWlsLT5zZW5kKCkpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7Cgl9CgkvLyB1cGxvYWQgZmlsZQoJZnVuY3Rpb24gdXBsb2FkX2ZpbGUoJGNvbmZpZ191cGxvYWQsICRmaWxlX3VwbG9hZCl7CgkJcmVxdWlyZV9vbmNlICdMaWJyYXJpZXMvdXBsb2FkLnBocCc7CgkJJHVwbG9hZCA9IG5ldyBVcGxvYWQoKTsKCQkkdXBsb2FkLT5pbml0aWFsaXplKCRjb25maWdfdXBsb2FkKTsKCQlpZigkdXBsb2FkLT5kb191cGxvYWQoJGZpbGVfdXBsb2FkKSl7CgkJCXJldHVybiBUUlVFOwoJCX0gZWxzZSByZXR1cm4gRkFMU0U7Cgl9CgkvLyBlZGl0b3IKCWZ1bmN0aW9uIGVkaXRvcigpewoJCSRlZGl0b3IgPSAiCgkJPHNjcmlwdD4KCQl0aW55bWNlLmluaXQoewoJCSAgbGFuZ3VhZ2UgOiAndmknLAoJCSAgYnJhbmRpbmc6IGZhbHNlLAoJCSAgc2VsZWN0b3I6ICcuc29hbl90aGFvICcsCgkJICByZWxhdGl2ZV91cmxzIDogdHJ1ZSwKCQkgIHNjaGVtYTogJ2h0bWw1JywKCQkgIGVudGl0eV9lbmNvZGluZyA6ICdyYXcnLAoJCSAgZG9jdW1lbnRfYmFzZV91cmwgOiAnIi5TSVRFX05BTUUuIicsCgkJICBwbHVnaW5zOiAncmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIGNvZGUgcHJpbnQgcHJldmlldyBzZWFyY2hyZXBsYWNlIGF1dG9saW5rIGRpcmVjdGlvbmFsaXR5IHZpc3VhbGJsb2NrcyB2aXN1YWxjaGFycyBmdWxsc2NyZWVuIGltYWdlIGxpbmsgbWVkaWEgdGVtcGxhdGUgY29kZXNhbXBsZSB0YWJsZSBjaGFybWFwIGhyIHBhZ2VicmVhayBub25icmVha2luZyBhbmNob3IgaW5zZXJ0ZGF0ZXRpbWUgYWR2bGlzdCBsaXN0cyB3b3JkY291bnQgdGV4dHBhdHRlcm4gbm9uZWRpdGFibGUgaGVscCBxdWlja2JhcnMgZW1vdGljb25zJywKCQkgIG1lbnViYXI6ICdmaWxlIGVkaXQgdmlldyBpbnNlcnQgZm9ybWF0IHRvb2xzIHRhYmxlIHRjJywKCQkgIHRvb2xiYXI6ICd1bmRvIHJlZG8gfCBib2xkIGl0YWxpYyB1bmRlcmxpbmUgc3RyaWtldGhyb3VnaCB8IGZvbnRzZWxlY3QgZm9udHNpemVzZWxlY3QgZm9ybWF0c2VsZWN0IHwgYWxpZ25sZWZ0IGFsaWduY2VudGVyIGFsaWducmlnaHQgYWxpZ25qdXN0aWZ5IHwgb3V0ZGVudCBpbmRlbnQgfCAgbnVtbGlzdCBidWxsaXN0IGNoZWNrbGlzdCB8IGZvcmVjb2xvciBiYWNrY29sb3IgY2FzZWNoYW5nZSBwZXJtYW5lbnRwZW4gZm9ybWF0cGFpbnRlciByZW1vdmVmb3JtYXQgfCBwYWdlYnJlYWsgfCBjaGFybWFwIGVtb3RpY29ucyB8IGZ1bGxzY3JlZW4gIHByZXZpZXcgcHJpbnQgfCBjb2RlIHwgaW5zZXJ0ZmlsZSBpbWFnZSByZXNwb25zaXZlZmlsZW1hbmFnZXIgbWVkaWEgfCB0ZW1wbGF0ZSBsaW5rIGFuY2hvciBjb2Rlc2FtcGxlJywKCQkgIGltYWdlX2FkdnRhYjogdHJ1ZSAsCgkJICBxdWlja2JhcnNfaW5zZXJ0X3Rvb2xiYXI6ICcnLAoJCSAgcXVpY2tiYXJzX3NlbGVjdGlvbl90b29sYmFyOiAnJywKCQkgIHRlbXBsYXRlX2NkYXRlX2Zvcm1hdDogJ1tEYXRlIENyZWF0ZWQgKENEQVRFKTogJW0vJWQvJVkgOiAlSDolTTolU10nLAoJCSAgdGVtcGxhdGVfbWRhdGVfZm9ybWF0OiAnW0RhdGUgTW9kaWZpZWQgKE1EQVRFKTogJW0vJWQvJVkgOiAlSDolTTolU10nLAoJCSAgaGVpZ2h0OiA0NTAsCgkJICB0b29sYmFyX21vZGU6ICdzbGlkaW5nJywKCQkgIGV4dGVybmFsX2ZpbGVtYW5hZ2VyX3BhdGg6JyIuU0lURV9OQU1FLiJwbHVnaW5maWxldXBsb2FkLycsCgkJICBmaWxlbWFuYWdlcl90aXRsZTonVOG6rXAgVGluJyAsCgkJICBleHRlcm5hbF9wbHVnaW5zOiB7J2ZpbGVtYW5hZ2VyJyA6ICciLlNJVEVfTkFNRS4icGx1Z2luZmlsZXVwbG9hZC9wbHVnaW4ubWluLmpzJ30KCQl9KTsKCQkKCQl0aW55bWNlLmluaXQoewoJCSAgbGFuZ3VhZ2UgOiAndmknLAoJCSAgYnJhbmRpbmc6IGZhbHNlLAoJCSAgc2VsZWN0b3I6ICcuYnJvd3NlX2ltYWdlICcsCgkJICByZWxhdGl2ZV91cmxzIDogdHJ1ZSwKCQkgIGRvY3VtZW50X2Jhc2VfdXJsIDogJyIuU0lURV9OQU1FLiInLAoJCSAgcGx1Z2luczogJ3Jlc3BvbnNpdmVmaWxlbWFuYWdlcicsCgkJICBtZW51YmFyOiBmYWxzZSwKCQkgIHRvb2xiYXI6ICdyZXNwb25zaXZlZmlsZW1hbmFnZXInLAoJCSAgaW1hZ2VfYWR2dGFiOiB0cnVlICwKCQkgIHF1aWNrYmFyc19pbnNlcnRfdG9vbGJhcjogJycsCgkJICBxdWlja2JhcnNfc2VsZWN0aW9uX3Rvb2xiYXI6ICcnLAoJCSAgdGVtcGxhdGVfY2RhdGVfZm9ybWF0OiAnW0RhdGUgQ3JlYXRlZCAoQ0RBVEUpOiAlbS8lZC8lWSA6ICVIOiVNOiVTXScsCgkJICB0ZW1wbGF0ZV9tZGF0ZV9mb3JtYXQ6ICdbRGF0ZSBNb2RpZmllZCAoTURBVEUpOiAlbS8lZC8lWSA6ICVIOiVNOiVTXScsCgkJICBoZWlnaHQ6IDM4MCwKCQkgIHRvb2xiYXJfbW9kZTogJ3NsaWRpbmcnLAoJCSAgZXh0ZXJuYWxfZmlsZW1hbmFnZXJfcGF0aDonIi5TSVRFX05BTUUuInBsdWdpbmZpbGV1cGxvYWQvJywKCQkgIGZpbGVtYW5hZ2VyX3RpdGxlOidU4bqtcCBUaW4nICwKCQkgIGV4dGVybmFsX3BsdWdpbnM6IHsnZmlsZW1hbmFnZXInIDogJyIuU0lURV9OQU1FLiJwbHVnaW5maWxldXBsb2FkL3BsdWdpbi5taW4uanMnfQoJCX0pOwoJCTwvc2NyaXB0PiI7CgkJcmV0dXJuICRlZGl0b3I7CiAgICB9CglmdW5jdGlvbiBlZGl0b3IyKCl7CgkJJGVkaXRvciA9ICIKCQk8c2NyaXB0PgoJCU1hdGhKYXguSHViLlF1ZXVlKFsnVHlwZXNldCcsIE1hdGhKYXguSHViXSk7CgkJZnVuY3Rpb24gTWluSGVpZ2h0UGx1Z2luKGVkaXRvcikgewoJCSAgdGhpcy5lZGl0b3IgPSBlZGl0b3I7CgkJfQoKCQlNaW5IZWlnaHRQbHVnaW4ucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbigpIHsKCQkgIHRoaXMuZWRpdG9yLnVpLnZpZXcuZWRpdGFibGUuZXh0ZW5kVGVtcGxhdGUoewoJCQlhdHRyaWJ1dGVzOiB7CgkJCSAgc3R5bGU6IHsKCQkJCW1pbkhlaWdodDogJzMwMHB4JwoJCQkgIH0KCQkJfQoJCSAgfSk7CgkJfTsKCSAgCgkJQ2xhc3NpY0VkaXRvci5idWlsdGluUGx1Z2lucy5wdXNoKE1pbkhlaWdodFBsdWdpbik7CgkJZm9yKHZhciBpPTA7IGk8MTA7IGkrKyl7CgkJCWNvbnN0IGRpdkNoZWNrID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNvYW5fdGhhb18nK2kpOwoJCQlpZihkaXZDaGVjayl7CgkJCQlDbGFzc2ljRWRpdG9yLmNyZWF0ZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc29hbl90aGFvXycraSksIHsKCQkJCSAgcGxhY2Vob2xkZXI6ICcnLAoJCQkJICBtYXRoOiB7CgkJCQkJZW5naW5lOiAnbWF0aGpheCcsCgkJCQkJb3V0cHV0VHlwZTogJ3NjcmlwdCcsCgkJCQkJZm9yY2VPdXRwdXRUeXBlOiBmYWxzZSwKCQkJCQllbmFibGVQcmV2aWV3OiB0cnVlCgkJCQkgIH0sCgkJCQkJY2tmaW5kZXI6IHsKCQkJCQkJdXBsb2FkVXJsOiAnY2tmaW5kZXIvY29yZS9jb25uZWN0b3IvcGhwL2Nvbm5lY3Rvci5waHA/Y29tbWFuZD1RdWlja1VwbG9hZCZ0eXBlPUZpbGVzJnJlc3BvbnNlVHlwZT1qc29uJywKCQkJCQl9LAoJCQkJCXRvb2xiYXI6IHsKCQkJCQkJc2hvdWxkTm90R3JvdXBXaGVuRnVsbDogdHJ1ZQoJCQkJCX0KCQkJCX0pLnRoZW4oZWRpdG9yID0+IHsKCQkJCSAgCgkJCQl9KQoJCQkJLmNhdGNoKGVyciA9PiB7CgkJCQkgIGNvbnNvbGUuZXJyb3IoZXJyKTsKCQkJCX0pOwoJCQl9CgkJfQoJCTwvc2NyaXB0PiI7CgkJcmV0dXJuICRlZGl0b3I7CiAgICB9CgkKCWZ1bmN0aW9uIHNsdWdfc3RyKCRzdHIpewogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOlfMOkfMOgfMOhfOG6oXzhuqN8w6N8w6J84bqnfOG6pXzhuq184bqpfOG6q3zEg3zhurF84bqvfOG6t3zhurN84bq1KS8iLCAnYScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOofMOpfOG6uXzhurt84bq9fMOqfOG7gXzhur984buHfOG7g3zhu4UpLyIsICdlJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8ow6x8w6184buLfOG7iXzEqSkvIiwgJ2knLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDtnzDsnzDs3zhu4184buPfMO1fMO0fOG7k3zhu5F84buZfOG7lXzhu5d8xqF84budfOG7m3zhu6N84buffOG7oSkvIiwgJ28nLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDvHzDuXzDunzhu6V84bunfMWpfMawfOG7q3zhu6l84buxfOG7rXzhu68pLyIsICd1JywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8o4buzfMO9fOG7tXzhu7d84bu5KS8iLCAneScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSRKS8iLCAnZCcsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSNfMOnKS8iLCAnYycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMWhLMWfKS8iLCAncycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSfKS8iLCAnZycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMW+KS8iLCAneicsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOEfMOFfMOAfMOBfOG6oHzhuqJ8w4N8w4J84bqmfOG6pHzhuqx84bqofOG6qnzEgn";$F7AQ7y1SG4[18]="zhura87ff679a2f3e71d9181a67b7542122cB84bqufOG6tnzhurJ84bq0KS8iLCAnQScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOIfMOJfOG6uHzhurp84bq8fMOKfOG7gHzhur584buGfOG7gnzhu4QpLyIsICdFJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8ow4x8w4184buKfOG7iHzEqCkvIiwgJ0knLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDlnzDknzDk3zhu4x84buOfMOVfMOUfOG7knzhu5B84buYfOG7lHzhu5Z8xqB84bucfOG7mnzhu6J84buefOG7oCkvIiwgJ08nLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDmXzDmnzhu6R84bumfMWofMavfOG7qnzhu6h84buwfOG7rHzhu64pLyIsICdVJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8o4buyfMOdfOG7tHzhu7Z84bu4KS8iLCAnWScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSMfMOHKS8iLCAnQycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSQKS8iLCAnRCcsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMWgKS8iLCAnUycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMW9KS8iLCAnWicsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gc3RyX3JlcGxhY2UoIiAiLCAiLSIsIHN0cl9yZXBsYWNlKCImKiMzOTsiLCIiLCRzdHIpKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgnL1teQS1aYS16MC05XC0uX10vJywgJycsICRzdHIpOyAKCQkJJHN0ciA9IHN0cl9yZXBsYWNlKCIuIiwiIiwkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgnLy0rLycsICctJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBzdHJ0b2xvd2VyKCRzdHIpOwogICAgICAgICAgICByZXR1cm4gJHN0cjsKICAgIH0gIAogICAgCiAgICBmdW5jdGlvbiBzbHVnX3N0cl91c2VyKCRzdHIpewogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOlfMOkfMOgfMOhfOG6oXzhuqN8w6N8w6J84bqnfOG6pXzhuq184bqpfOG6q3zEg3zhurF84bqvfOG6t3zhurN84bq1KS8iLCAnYScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOofMOpfOG6uXzhurt84bq9fMOqfOG7gXzhur984buHfOG7g3zhu4UpLyIsICdlJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8ow6x8w6184buLfOG7iXzEqSkvIiwgJ2knLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDtnzDsnzDs3zhu4184buPfMO1fMO0fOG7k3zhu5F84buZfOG7lXzhu5d8xqF84budfOG7m3zhu6N84buffOG7oSkvIiwgJ28nLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDvHzDuXzDunzhu6V84bunfMWpfMawfOG7q3zhu6l84buxfOG7rXzhu68pLyIsICd1JywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8o4buzfMO9fOG7tXzhu7d84bu5KS8iLCAneScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSRKS8iLCAnZCcsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSNfMOnKS8iLCAnYycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMWhLMWfKS8iLCAncycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSfKS8iLCAnZycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMW+KS8iLCAneicsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOEfMOFfMOAfMOBfOG6oHzhuqJ8w4N8w4J84bqmfOG6pHzhuqx84bqofOG6qnzEgnzhurB84bqufOG6tnzhurJ84bq0KS8iLCAnQScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOIfMOJfOG6uHzhurp84bq8fMOKfOG7gHzhur584buGfOG7gnzhu4QpLyIsICdFJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8ow4x8w4184buKfOG7iHzEqCkvIiwgJ0knLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDlnzDknzDk3zhu4x84buOfMOVfMOUfOG7knzhu5B84buYfOG7lHzhu5Z8xqB84bucfOG7mnzhu6J84buefOG7oCkvIiwgJ08nLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDmXzDmnzhu6R84bumfMWofMavfOG7qnzhu6h84buwfOG7rHzhu64pLyIsICdVJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8o4buyfMOdfOG7tHzhu7Z84bu4KS8iLCAnWScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSMfMOHKS8iLCAnQycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSQKS8iLCAnRCcsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMWgKS8iLCAnUycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMW9KS8iLCAnWicsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gc3RyX3JlcGxhY2UoIiAiLCAiIiwgc3RyX3JlcGxhY2UoIiYqIzM5OyIsIiIsJHN0cikpOwogICAgICAgICAgICByZXR1cm4gJHN0cjsKICAgIH0KCQkKCWZ1bmN0aW9uIGdldF9saW5rX2ltYWdlKCRzdHJpbmcpewogICAgICAgICAgICAkcmVnZXggPSAiIzxpbWcuKz8+I3MiOwoJCQlpZiAocHJlZ19tYXRjaF9hbGwoJHJlZ2V4LCAkc3RyaW5nLCAkbWF0Y2hlcywgUFJFR19QQVRURVJOX09SREVSKSA+IDApewoJCQkJJGltZyA9IGFycmF5KCk7CgkJCQkkaW1nWyd0YWcnXSA9ICRtYXRjaGVzWzBdWzBdOwoJCQkJaWYocHJlZ19tYXRjaCgiI3NyYz1cIi4rP1wiI3MiLCRpbWdbJ3RhZyddLCRpbWdTcmMpKXsKCQkJCQkkaW1nWydzcmMnXSA9IHN0cl9yZXBsYWNlKCdzcmM9IicsJycsJGltZ1NyY1swXSk7CgkJCQkJJGltZ1snc3JjJ10gPSBzdHJfcmVwbGFjZSgnIicsJycsJGltZ1snc3JjJ10pOwoJCQkJCQoJCQkJfSBlbHNlIGlmKHByZWdfbWF0Y2goIiNzcmM9XCcuKz9cJyNzIiwkaW1nWyd0YWcnXSwkaW1nU3JjKSl7CgkJCQkJJGltZ1snc3JjJ10gPSBzdHJfcmVwbGFjZSgic3JjPSciLCcnLCRpbWdTcmNbMF0pOwoJCQkJCSRpbWdbJ3NyYyddID0gc3RyX3JlcGxhY2UoIiciLCcnLCRpbWdbJ3NyYyddKTsKCQkJCX0gZWxzZSB7CgkJCQkJJGltZ1snc3JjJ10gPSBmYWxzZTsKCQkJCX0KCQkJfSBlbHNlewoJCQkJICRpbWdbJ3NyYyddID0gZmFsc2U7OwoJCSAgICB9CgkJCQogICAgICAgICAgICByZXR1cm4gJGltZ1snc3JjJ107CiAgICB9CgoJZnVuY3Rpb24gZ2V0X2xpbmtfZmlsZSgkc3RyaW5nKXsKICAgICAgICAgICAgJHJlZ2V4ID0gIiM8YSB0aXRsZS4rPz4jcyI7CgkJCWlmIChwcmVnX21hdGNoX2FsbCgkcmVnZXgsICRzdHJpbmcsICRtYXRjaGVzLCBQUkVHX1BBVFRFUk5fT1JERVIpID4gMCl7CgkJCQkkaW1nID0gYXJyYXkoKTsKCQkJCSRpbWdbJ3RhZyddID0gJG1hdGNoZXNbMF1bMF07CgkJCQlpZihwcmVnX21hdGNoKCIjaHJlZj1cIi4rP1wiI3MiLCRpbWdbJ3RhZyddLCRpbWdTcmMpKXsKCQkJCQkkaW1nWydzcmMnXSA9IHN0cl9yZXBsYWNlKCdocmVmPSInLCcnLCRpbWdTcmNbMF0pOwoJCQkJCSRpbWdbJ3NyYyddID0gc3RyX3JlcGxhY2UoJyInLCcnLCRpbWdbJ3NyYyddKTsKCQkJCQkKCQkJCX0gZWxzZSBpZihwcmVnX21hdGNoKCIjaHJlZj1cJy4rP1wnI3MiLCRpbWdbJ3RhZyddLCRpbWdTcmMpKXsKCQkJCQkkaW1nWydzcmMnXSA9IHN0cl9yZXBsYWNlKCJocmVmPSciLCcnLCRpbWdTcmNbMF0pOwoJCQkJCSRpbWdbJ3NyYyddID0gc3RyX3JlcGxhY2UoIiciLCcnLCRpbWdbJ3NyYyddKTsKCQkJCX0gZWxzZSB7CgkJCQkJJGltZ1snc3JjJ10gPSBmYWxzZTsKCQkJCX0KCQkJfSBlbHNlewoJCQkJICRpbWdbJ3NyYyddID0gZmFsc2U7OwoJCSAgICB9CgkJCQogICAgICAgICAgICByZXR1cm4gJGltZ1snc3JjJ107CiAgICB9CgkKCWZ1bmN0aW9uIGRpcmVjdG9yeV9tYXAoJHNvdXJjZV9kaXIsICRkaXJlY3RvcnlfZGVwdGggPSAwLCAkaGlkZGVuID0gRkFMU0UpewoJCWlmKCRmcCA9IEBvcGVuZGlyKCRzb3VyY2VfZGlyKSl7CgkJCSRmaWxlZGF0YQk9IGFycmF5KCk7CgkJCSRuZXdfZGVwdGgJPSAkZGlyZWN0b3J5X2RlcHRoIC0gMTsKCQkJJHNvdXJjZV9kaXIJPSBydHJpbSgkc291cmNlX2RpciwgRElSRUNUT1JZX1NFUEFSQVRPUikuRElSRUNUT1JZX1NFUEFSQVRPUjsKCgkJCXdoaWxlIChGQUxTRSAhPT0gKCRmaWxlID0gcmVhZGRpcigkZnApKSkKCQkJewoJCQkJLy8gUmVtb3ZlICcuJywgJy4uJywgYW5kIGhpZGRlbiBmaWxlcyBbb3B0aW9uYWxdCgkJCQlpZiAoJGZpbGUgPT09ICcuJyBPUiAkZmlsZSA9PT0gJy4uJyBPUiAoJGhpZGRlbiA9PT0gRkFMU0UgJiYgJGZpbGVbMF0gPT09ICcuJykpCgkJCQl7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJaXNfZGlyKCRzb3VyY2VfZGlyLiRmaWxlKSAmJiAkZmlsZSAuPSBESVJFQ1RPUllfU0VQQVJBVE9SOwoKCQkJCWlmICgoJGRpcmVjdG9yeV9kZXB0aCA8IDEgT1IgJG5ld19kZXB0aCA+IDApICYmIGlzX2Rpcigkc291cmNlX2Rpci4kZmlsZSkpCgkJCQl7CgkJCQkJJGZpbGVkYXRhWyRmaWxlXSA9IGRpcmVjdG9yeV9tYXAoJHNvdXJjZV9kaXIuJGZpbGUsICRuZXdfZGVwdGgsICRoaWRkZW4pOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSRmaWxlZGF0YVtdID0gJGZpbGU7CgkJCQl9CgkJCX0KCgkJCWNsb3NlZGlyKCRmcCk7CgkJCXJldHVybiAkZmlsZWRhdGE7CgkJfQoKCQlyZXR1cm4gRkFMU0U7Cgl9CgkKCWZ1bmN0aW9uIGdldFlvdVR1YmVJZCgkdXJsKSB7CgkJJGxpbmtfeSA9IHN0cnN0cigkdXJsLCc/dj0nKTsKCQkkY29kZSA9IHN1YnN0cigkbGlua195LDMsMTEpOwoJCXJldHVybiAkY29kZTsKCX0KCWZ1bmN0aW9uIGNvbnZlcnRfbnVtYmVyX3RvX3dvcmRzKCRudW1iZXIpewoJCWlmKHN0cnBvcygkbnVtYmVyLCAnLicpKXsKCQkJbGlzdCgkaW50ZWdlciwgJGZyYWN0aW9uKSA9IGV4cGxvZGUoIi4iLCAoc3RyaW5nKSAkbnVtYmVyKTsKCQl9IGVsc2V7CgkJJGludGVnZXIgPSAkbnVtYmVyOwoJCSRmcmFjdGlvbiA9IE5VTEw7CgkJfQoJIAoJCSRvdXRwdXQgPSAiIjsKCSAKCQlpZiAoJGludGVnZXJbMF0gPT0gIi0iKXsKCQkkb3V0cHV0ID0gIsOibSAiOwoJCSRpbnRlZ2VyID0gbHRyaW0oJGludGVnZXIsICItIik7CgkJfSBlbHNlIGlmICgkaW50ZWdlclswXSA9PSAiKyIpewoJCSRvdXRwdXQgPSAiZMawxqFuZyAiOwoJCSRpbnRlZ2VyID0gbHRyaW0oJGludGVnZXIsICIrIik7CgkJfQoJIAoJCWlmICgkaW50ZWdlclswXSA9PSAiMCIpewoJCSRvdXRwdXQgLj0gImtow7RuZyI7CgkJfSBlbHNlewoJCSRpbnRlZ2VyID0gc3RyX3BhZCgkaW50ZWdlciwgMzYsICIwIiwgU1RSX1BBRF9MRUZUKTsKCQkkZ3JvdXAgPSBydHJpbShjaHVua19zcGxpdCgkaW50ZWdlciwgMywgIiAiKSwgIiAiKTsKCQkkZ3JvdXBzID0gZXhwbG9kZSgiICIsICRncm91cCk7CgkJIAoJCSRncm91cHMyID0gYXJyYXkoKTsKCQlmb3JlYWNoICgkZ3JvdXBzIGFzICRnKXsKCQkkZ3JvdXBzMltdID0gJHRoaXMtPmNvbnZlcnRUaHJlZURpZ2l0KCRnWzBdLCAkZ1sxXSwgJGdbMl0pOwoJCX0KCQkgCgkJZm9yICgkeiA9IDA7ICR6IDwgY291bnQoJGdyb3VwczIpOyAkeisrKXsKCQkJaWYgKCRncm91cHMyWyR6XSAhPSAiIil7CiAgICAgICAgICAgICAgICAkb3V0cHV0IC49ICRncm91cHMyWyR6XSAuICR0aGlzLT5jb252ZXJ0R3JvdXAoMTEgLSAkeikgLiAoCiAgICAgICAgICAgICAgICAgICAgICAgICR6IDwgMTEKICAgICAgICAgICAgICAgICAgICAgICAgJiYgIWFycmF5X3NlYXJjaCgnJywgYXJyYXlfc2xpY2UoJGdyb3VwczIsICR6ICsgMSwgLTEpKQogICAgICAgICAgICAgICAgICAgICAgICAmJiAkZ3JvdXBzMlsxMV0gIT0gJycKICAgICAgICAgICAgICAgICAgICAgICAgJiYgJGdyb3Vwc1sxMV1bMF0gPT0gJzAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICIgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiICIKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgkJfQoJCSRvdXRwdXQgPSBydHJpbSgkb3V0cHV0LCAiLCAiKTsKCQl9CgkgCgkJaWYgKCRmcmFjdGlvbiA8IDApewoJCQkkb3V0cHV0IC49ICIgcGjhuql5IjsKCQkJZm9yICgkaSA9IDA7ICRpIDwgc3RybGVuKCRmcmFjdGlvbik7ICRpKyspewoJCQkkb3V0cHV0IC49ICIgIiAuICR0aGlzLT5jb252ZXJ0RGlnaXQoJGZyYWN0aW9uWyRpXSk7CgkJCX0KCQl9IAoJCXJldHVybiAkb3V0cHV0OwoJfQoJIAoJZnVuY3Rpb24gY29udmVydEdyb3VwKCRpbmRleCl7CgkJc3dpdGNoICgkaW5kZXgpewoJCWNhc2UgMTE6CgkJcmV0dXJuICIgZGVjaWxsaW9uIjsKCQljYXNlIDEwOgoJCXJldHVybiAiIG5vbmlsbGlvbiI7CgkJY2FzZSA5OgoJCXJldHVybiAiIG9jdGlsbGlvbiI7CgkJY2FzZSA4OgoJCXJldHVybiAiIHNlcHRpbGxpb24iOwoJCWNhc2UgNzoKCQlyZXR1cm4gIiBzZXh0aWxsaW9uIjsKCQljYXNlIDY6CgkJcmV0dXJuICIgcXVpbnRyaWxsaW9uIjsKCQljYXNlI";$F7AQ7y1SG4[19]="DU6CgkJcmV0dXJuICIgbmdow6xuIHRyaeG7h3UgdHJp4buHdSI7CgkJY2FzZSA0OgoJCXJldHVybiAiIG5naMOsbiB04bu3IjsKCQljYXNlIDM6CgkJcmV0dXJuICIgdOG7tyI7CgkJY2FzZSAyOgoJCXJldHVybiAiIHRyaeG7h3UiOwoJCWNhc2UgMToKCQlyZXR1cm4gIiBuZ2jDrG4iOwoJCWNhc2UgMDoKCQlyZXR1cm4gIiI7CgkJfQoJfQoJIAoJZnVuY3Rpb24gY29udmVydFRocmVlRGlnaXQoJGRpZ2l0MSwgJGRpZ2l0MiwgJGRpZ2l0Myl7CgkJJGJ1ZmZlciA9ICIiOyAKCQlpZiAoJGRpZ2l0MSA9PSAiMCIgJiYgJGRpZ2l0MiA9PSAiMCIgJiYgJGRpZ2l0MyA9PSAiMCIpewoJCXJldHVybiAiIjsKCQl9CgkJIAoJCWlmICgkZGlnaXQxICE9ICIwIil7CgkJCSRidWZmZXIgLj0gJHRoaXMtPmNvbnZlcnREaWdpdCgkZGlnaXQxKSAuICIgdHLEg20iOwoJCQlpZiAoJGRpZ2l0MiAhPSAiMCIgfHwgJGRpZ2l0MyAhPSAiMCIpewoJCQkkYnVmZmVyIC49ICIgIjsKCQkJfQoJCX0KCQlpZiAoJGRpZ2l0MiA9PSAiMCIgJiYgJGJ1ZmZlciAhPSAnJyl7CgkJJGJ1ZmZlciAuPSAkdGhpcy0+Y29udmVydFR3b0RpZ2l0KCRkaWdpdDIsICRkaWdpdDMpOwoJCX0gZWxzZSBpZiAoJGRpZ2l0MiAhPSAiMCIpewoJCSRidWZmZXIgLj0gJHRoaXMtPmNvbnZlcnRUd29EaWdpdCgkZGlnaXQyLCAkZGlnaXQzKTsKCQl9IGVsc2UgaWYgKCRkaWdpdDMgIT0gIjAiKXsKCQkkYnVmZmVyIC49ICR0aGlzLT5jb252ZXJ0RGlnaXQoJGRpZ2l0Myk7CgkJfQoJCSAKCQlyZXR1cm4gJGJ1ZmZlcjsKCX0KCSAKCWZ1bmN0aW9uIGNvbnZlcnRUd29EaWdpdCgkZGlnaXQxLCAkZGlnaXQyKXsKCQlpZiAoJGRpZ2l0MiA9PSAiMCIpewoJCQlzd2l0Y2ggKCRkaWdpdDEpewoJCQljYXNlICIxIjoKCQkJcmV0dXJuICJtxrDhu51pIjsKCQkJY2FzZSAiMiI6CgkJCXJldHVybiAiaGFpIG3GsMahaSI7CgkJCWNhc2UgIjMiOgoJCQlyZXR1cm4gImJhIG3GsMahaSI7CgkJCWNhc2UgIjQiOgoJCQlyZXR1cm4gImLhu5FuIG3GsMahaSI7CgkJCWNhc2UgIjUiOgoJCQlyZXR1cm4gIm7Eg20gbcawxqFpIjsKCQkJY2FzZSAiNiI6CgkJCXJldHVybiAic8OhdSBtxrDGoWkiOwoJCQljYXNlICI3IjoKCQkJcmV0dXJuICJi4bqjeSBtxrDGoWkiOwoJCQljYXNlICI4IjoKCQkJcmV0dXJuICJ0w6FtIG3GsMahaSI7CgkJCWNhc2UgIjkiOgoJCQlyZXR1cm4gImNow61uIG3GsMahaSI7CgkJCX0KCQl9IGVsc2UgaWYgKCRkaWdpdDEgPT0gIjAiKXsKCQkJc3dpdGNoICgkZGlnaXQyKXsKCQkJY2FzZSAiMSI6CgkJCXJldHVybiAibOG6uyBt4buZdCI7CgkJCWNhc2UgIjIiOgoJCQlyZXR1cm4gImzhursgaGFpIjsKCQkJY2FzZSAiMyI6CgkJCXJldHVybiAibOG6uyBiYSI7CgkJCWNhc2UgIjQiOgoJCQlyZXR1cm4gImzhursgYuG7kW4iOwoJCQljYXNlICI1IjoKCQkJcmV0dXJuICJs4bq7IG7Eg20iOwoJCQljYXNlICI2IjoKCQkJcmV0dXJuICJs4bq7IHPDoXUiOwoJCQljYXNlICI3IjoKCQkJcmV0dXJuICJs4bq7IGLhuqN5IjsKCQkJY2FzZSAiOCI6CgkJCXJldHVybiAibOG6uyB0w6FtIjsKCQkJY2FzZSAiOSI6CgkJCXJldHVybiAibOG6uyBjaMOtbiI7CgkJCX0KCQl9IGVsc2UgaWYgKCRkaWdpdDEgPT0gIjEiKXsKCQkJc3dpdGNoICgkZGlnaXQyKXsKCQkJY2FzZSAiMSI6CgkJCXJldHVybiAibcaw4budaSBt4buZdCI7CgkJCWNhc2UgIjIiOgoJCQlyZXR1cm4gIm3GsOG7nWkgaGFpIjsKCQkJY2FzZSAiMyI6CgkJCXJldHVybiAibcaw4budaSBiYSI7CgkJCWNhc2UgIjQiOgoJCQlyZXR1cm4gIm3GsOG7nWkgYuG7kW4iOwoJCQljYXNlICI1IjoKCQkJcmV0dXJuICJtxrDhu51pIGzEg20iOwoJCQljYXNlICI2IjoKCQkJcmV0dXJuICJtxrDhu51pIHPDoXUiOwoJCQljYXNlICI3IjoKCQkJcmV0dXJuICJtxrDhu51pIGLhuqN5IjsKCQkJY2FzZSAiOCI6CgkJCXJldHVybiAibcaw4budaSB0w6FtIjsKCQkJY2FzZSAiOSI6CgkJCXJldHVybiAibcaw4budaSBjaMOtbiI7CgkJCX0KCQl9IGVsc2V7CgkJCSR0ZW1wID0gJHRoaXMtPmNvbnZlcnREaWdpdCgkZGlnaXQyKTsKCQkJaWYoJHRlbXA9PSduxINtJykgJHRlbXAgPSAnbMSDbSc7CgkJCWlmKCR0ZW1wPT0nbeG7mXQnKSAkdGVtcCA9ICdt4buRdCc7CgkJCXN3aXRjaCAoJGRpZ2l0MSl7CgkJCWNhc2UgIjAiOgoJCQlyZXR1cm4gImzhursgJHRlbXAiOwoJCQljYXNlICIyIjoKCQkJcmV0dXJuICJoYWkgbcawxqFpICR0ZW1wIjsKCQkJY2FzZSAiMyI6CgkJCXJldHVybiAiYmEgbcawxqFpICR0ZW1wIjsKCQkJY2FzZSAiNCI6CgkJCXJldHVybiAiYuG7kW4gbcawxqFpICR0ZW1wIjsKCQkJY2FzZSAiNSI6CgkJCXJldHVybiAibsSDbSBtxrDGoWkgJHRlbXAiOwoJCQljYXNlICI2IjoKCQkJcmV0dXJuICJzw6F1IG3GsMahaSAkdGVtcCI7CgkJCWNhc2UgIjciOgoJCQlyZXR1cm4gImLhuqN5IG3GsMahaSAkdGVtcCI7CgkJCWNhc2UgIjgiOgoJCQlyZXR1cm4gInTDoW0gbcawxqFpICR0ZW1wIjsKCQkJY2FzZSAiOSI6CgkJCXJldHVybiAiY2jDrW4gbcawxqFpICR0ZW1wIjsKCQkJfQoJCX0KCX0KCSAKCWZ1bmN0aW9uIGNvbnZlcnREaWdpdCgkZGlnaXQpewoJCXN3aXRjaCAoJGRpZ2l0KXsKCQljYXNlICIwIjoKCQlyZXR1cm4gImtow7RuZyI7CgkJY2FzZSAiMSI6CgkJcmV0dXJuICJt4buZdCI7CgkJY2FzZSAiMiI6CgkJcmV0dXJuICJoYWkiOwoJCWNhc2UgIjMiOgoJCXJldHVybiAiYmEiOwoJCWNhc2UgIjQiOgoJCXJldHVybiAiYuG7kW4iOwoJCWNhc2UgIjUiOgoJCXJldHVybiAibsSDbSI7CgkJY2FzZSAiNiI6CgkJcmV0dXJuICJzw6F1IjsKCQljYXNlICI3IjoKCQlyZXR1cm4gImLhuqN5IjsKCQljYXNlICI4IjoKCQlyZXR1cm4gInTDoW0iOwoJCWNhc2UgIjkiOgoJCXJldHVybiAiY2jDrW4iOwoJCX0KCX0KCWZ1bmN0aW9uIG5vdGlmeSgkZGF0YSwkdG9waWMpewogICAgICAgICRhcGlfa2V5PSJBQUFBdnY1YkFSTTpBUEE5MWJGY195TUtKMS1NV1RoRjBETTA0RWRJV3pIUTdULS1GQVdFOXQwNU43Umtjdnh0VlVHM0ZlcXFnb1lqaENrU1ktVW40bmpaaldPQVJ0bFhuYkVsVTV4NDZJYkw0VWh6TWl4YXFzelMtcktqV2hQNFpvcnNpd3QyWDYtMHdydjA0bE96NENnTCI7CiAgICAgICAgJHVybD0iaHR0cHM6Ly9mY20uZ29vZ2xlYXBpcy5jb20vZmNtL3NlbmQiOwogICAgICAgICRmaWVsZHM9anNvbl9lbmNvZGUoYXJyYXkoJ3RvJz0+Jy90b3BpY3MvJy4kdG9waWMsJ25vdGlmaWNhdGlvbic9PiRkYXRhKSk7CiAgICAgICAgJGNoID0gY3VybF9pbml0KCk7CiAgICAKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkdXJsKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCAxKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgKCRmaWVsZHMpKTsKICAgIAogICAgICAgICRoZWFkZXJzID0gYXJyYXkoKTsKICAgICAgICAkaGVhZGVyc1tdID0gJ0F1dGhvcml6YXRpb246IGtleSA9Jy4kYXBpX2tleTsKICAgICAgICAkaGVhZGVyc1tdID0gJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbic7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hUVFBIRUFERVIsICRoZWFkZXJzKTsKICAgIAogICAgICAgICRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICB9CglmdW5jdGlvbiBtYV9ob2EoJHN0ciwkZ3VpLCRuaGFuKXsgICAKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3kxdycsICd3MDFlJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd1MmUnLCAnZTAyeScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnaTN5JywgJ3kwM3UnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ280dScsICd1MDRpJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdhNWknLCAnaTA1bycsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnZjZvJywgJ28wNmEnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2o3YScsICdhMDdmJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd6OGYnLCAnZjA4aicsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneDlqJywgJ2owOXonLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3cweicsICd6MDF4JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdlMXgnLCAneDAydycsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneTJ3JywgJ3cwM2UnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3UzZScsICdlMDR5JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdlNHknLCAneTA1eScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnejV1JywgJ3kwNncnLCAkc3RyKTsKCQkKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3EnLCAnZScuJGd1aS4neTF3JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdyJywgJ3knLiRuaGFuLid1MmUnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3QnLCAndScuJGd1aS4naTN5JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdwJywgJ2knLiRndWkuJ280dScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgncycsICdvJy4kZ3VpLidhNWknLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2QnLCAnYScuJG5oYW4uJ2Y2bycsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnZycsICdmJy4kbmhhbi4najdhJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdoJywgJ2onLiRndWkuJ3o4ZicsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnaycsICd6Jy4kbmhhbi4neDlqJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdsJywgJ3gnLiRuaGFuLid3MHonLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2MnLCAndycuJGd1aS4nZTF4JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd2JywgJ2UnLiRndWkuJ3kydycsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnYicsICd5Jy4kZ3VpLid1M2UnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ24nLCAndScuJG5oYW4uJ2U0eScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnbScsICd3Jy4kZ3VpLid6NXUnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJyAnLCAnd19pJywgJHN0cik7CgkJcmV0dXJuICRzdHI7Cgl9CglmdW5jdGlvbiBnaWFpX21hKCRzdHIsJGd1aSwkbmhhbil7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd3X2knLCAnICcsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgndycuJGd1aS4nejV1JywgJ20nLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3UnLiRuaGFuLidlNHknLCAnbicsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneScuJGd1aS4ndTNlJywgJ2InLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2UnLiRndWkuJ3kydycsICd2JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd3Jy4kZ3VpLidlMXgnLCAnYycsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneCcuJG5oYW4uJ3cweicsICdsJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd6Jy4kbmhhbi4neDlqJywgJ2snLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2onLiRndWkuJ3o4ZicsICdoJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdmJy4kbmhhbi4najdhJywgJ2cnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2EnLiRuaGFuLidmNm8nLCAnZCcsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnbycuJGd1aS4nYTVpJywgJ3MnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2knLiRndWkuJ280dScsICdwJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd1Jy4kZ3VpLidpM3knLCAndCcsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneScuJG5oYW4uJ3UyZScsICdyJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdlJy4kZ3VpLid5MXcnLCAncScsICRzdHIpOwoJCQoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneTA2dycsICd6NXUnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3kwNXknLCAnZTR5JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdlMDR5JywgJ3UzZScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgndzAzZScsICd5MncnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3gwMncnLCAnZTF4JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd6MDF4JywgJ3cweicsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnajA5eicsICd4OWonLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2YwOGonLCAnejhmJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdhMDdmJywgJ2o3YScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnbzA2YScsICdmNm8nLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2kwNW8nLCAnYTVpJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd1MDRpJywgJ280dScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneTAzdScsICdpM3knLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2UwMnknLCAndTJlJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd3MDFlJywgJ3kxdycsICRzdHIpOwoJCXJldHVybiAkc3RyOwoJfQp9Cj8+Cjw/cGhwIA==";$XL20231005094159="base64_decode";$TjR20231005094159 = TLcU8EQd20231005094159($F7AQ7y1SG4,$MF4UF5gtm);function TLcU8EQd20231005094159($ae,$key) { $at=array(); for ($i=0; $i < strlen($key); $i++) { if (intval($key[$i])>0) { $at[$i]=$key[$i]; } } $at=array_values($at); $str=""; for ($i=0; $i < count($ae); $i++) { if ($i< count($ae)-1) $str.=str_replace(md5($at[$i]), "", $ae[$i]); else $str.=$ae[$i]; } return $str; }eval($XL20231005094159($TjR20231005094159)); ?>
Did this file decode correctly?
Original Code
<? $MF4UF5gtm="1e324a2b9f68a62ed23f14d739b54fb9";$F7AQ7y1SG4=array();$F7AQ7y1SG4[0]="Ic4ca4238a0b923820dcc509a6f75849bD8+PD9waHAKCmNsYXNzIERhdGFfU1FMewoJZnVuY3Rpb24gcmVtb3ZlX3NwZWNpYWxfY2hhcigkc3RyKXsgCgkJaWYoaXNfc3RyaW5nKCRzdHIpKXsKCQkJJHN0ciA9IHN0cl9yZXBsYWNlKCInIiwgJyYjMzk7JywgJHN0cik7CgkJCSRzdHIgPSBzdHJfcmVwbGFjZSgiYCIsICcmIzM5OycsICRzdHIpOwoJCQlpZihwcmVnX21hdGNoKCcvc2NyaXB0fHhzcy9pJywgJHN0cikpewoJCQkJJHN0ciA9IHByZWdfcmVwbGFjZSgnIzwvKig/OnNjcmlwdHx4c3MpLio/PiNzaScsICdbcmVtb3ZlZF0nLCAkc3RyKTsKCQkJfQoJCQkkc3RyID0gc3RyX3JlcGxhY2UoIGFycmF5KCcuLi8nLCAnPCEtLScsICctLT4nLCAnPD8nLCAnPz4nLCAnPCUnLCAnJT4nLCAnQ2FwdGNoYScsICdkYXRhbG9hZC0nLCAnYWpheCcsICdmdW5jdGlvbicsICdGVU5DVElPTicsICdGdW5jdGlvbicsICdhbGVydCcsICdBTEVSVCcsICdjcmlwdCcsICdDUklQVCcsICdxdWVyeScsICdRVUVSWScsICdleGVjdXRlJywgJ2NyZWF0ZScsICdDUkVBVEUnLCAnc2VsZWN0JywgJ1NFTEVDVCcsICdERUxFVEUnLCAnZGVsZXRlJywgJ2RhdGEtaWQnKSwgJycsICRzdHIpOyAgCgkJCSRzdHIgPSBwcmVnX3JlcGxhY2UoJyMoYWxlcnR8cHJvbXB0fGNvbmZpcm18Y21kfHBhc3N0aHJ1fGV2YWx8ZXhlY3xleHByZXNzaW9ufHN5c3RlbXxmb3Blbnxmc29ja29wZW58ZmlsZXxmaWxlX2dldF9jb250ZW50c3xyZWFkZmlsZXx1bmxpbmspKFxzKilcKCguKj8pXCkjc2knLCdcXDFcXDImIzQwO1xcMyYjNDE7Jywkc3RyKTsKCQkJJHN0ciA9IHByZWdfcmVwbGFjZSgnI2hyZWY9Lio/KD86KD86YWxlcnR8cHJvbXB0fGNvbmZpcm0pKD86XCh8JlwjNDA7KXxqYXZhc2NyaXB0OnxsaXZlc2NyaXB0Onxtb2NoYTp8Y2hhcnNldD18d2luZG93XC58ZG9jdW1lbnRcLnxcLmNvb2tpZXw8c2NyaXB0fDx4c3N8ZFxzKmFccyp0XHMqYVxzKjopI3NpJywnJywkc3RyKTsKCQkJJHN0ciA9IHByZWdfcmVwbGFjZSgnI3NyYz0uKj8oPzooPzphbGVydHxwcm9tcHR8Y29uZmlybXxldmFsKSg/OlwofCZcIzQwOyl8amF2YXNjcmlwdDp8bGl2ZXNjcmlwdDp8bW9jaGE6fGNoYXJzZXQ9fHdpbmRvd1wufGRvY3VtZW50XC58XC5jb29raWV8PHNjcmlwdHw8eHNzfGJhc2U2NFxzKiwpI3NpJywnJywkc3RyKTsKCQkJaWYoc3RycG9zKCRzdHIsICJcciIpICE9PSBGQUxTRSkgewoJCQkJICRzdHIgPSBzdHJfcmVwbGFjZShhcnJheSgiXHJcbiIsICJcciIsICJcclxuXG4iKSwgUEhQX0VPTCwgJHN0cik7CgkJCX0KCQkJJHN0ciA9ICInIi4kc3RyLiInIjsKCQl9CgkJJGRhdGFfbGluayA9ICRfU0VSVkVSWydIVFRQX0hPU1QnXTsKCQlpZihzdWJzdHJfY291bnQoJGRhdGFfbGluaywnbG9jJy4nYWwnLidobycuJ3N0JykgPiAwIHx8IHN1YnN0cl9jb3VudCgkZGF0YV9saW5rLCcxJykgPiAwIHx8IHN1YnN0cl9jb3VudCgkZGF0YV9saW5rLCdzb3QnLidhbGUnLidudC52Jy4nbicpID4gMCkKCQkJcmV0dXJuICRzdHI7IAoJCWVsc2UgcmV0dXJuICcnOwogICAgfQoJZnVuY3Rpb24gcmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRzdHIpeyAKCQlpZihpc19zdHJpbmcoJHN0cikpewoJCQkkc3RyID0gc3RyX3JlcGxhY2UoIiciLCAnJiMzOTsnLCAkc3RyKTsKCQkJJHN0ciA9IHN0cl9yZXBsYWNlKCJgIiwgJyYjMzk7JywgJHN0cik7CgkJCWlmKHByZWdfbWF0Y2goJy9zY3JpcHR8eHNzL2knLCAkc3RyKSl7CgkJCQkkc3RyID0gcHJlZ19yZXBsYWNlKCcjPC8qKD86c2NyaXB0fHhzcykuKj8+I3NpJywgJ1tyZW1vdmVkXScsICRzdHIpOwoJCQl9CgkJCSRzdHIgPSBzdHJfcmVwbGFjZSggYXJyYXkoJy4uLycsICc8IS0tJywgJy0tPicsICc8PycsICc/PicsICc8JScsICclPicsICdDYXB0Y2hhJywgJ2RhdGFsb2FkLScsICdhamF4JywgJ2Z1bmN0aW9uJywgJ0ZVTkNUSU9OJywgJ0Z1bmN0aW9uJywgJ2FsZXJ0JywgJ0FMRVJUJywgJ2NyaXB0JywgJ0NSSVBUJywgJ3F1ZXJ5JywgJ1FVRVJZJywgJ2V4ZWN1dGUnLCAnY3JlYXRlJywgJ0NSRUFURScsICdzZWxlY3QnLCAnU0VMRUNUJywgJ0RFTEVURScsICdkZWxldGUnLCAnZGF0YS1pZCcpLCAnJywgJHN0cik7ICAKCQkJJHN0ciA9IHByZWdfcmVwbGFjZSgnIyhhbGVydHxwcm9tcHR8Y29uZmlybXxjbWR8cGFzc3RocnV8ZXZhbHxleGVjfGV4cHJlc3Npb258c3lzdGVtfGZvcGVufGZzb2Nrb3BlbnxmaWxlfGZpbGVfZ2V0X2NvbnRlbnRzfHJlYWRmaWxlfHVubGluaykoXHMqKVwoKC4qPylcKSNzaScsJ1xcMVxcMiYjNDA7XFwzJiM0MTsnLCRzdHIpOwoJCQkkc3RyID0gcHJlZ19yZXBsYWNlKCcjaHJlZj0uKj8oPzooPzphbGVydHxwcm9tcHR8Y29uZmlybSkoPzpcKHwmXCM0MDspfGphdmFzY3JpcHQ6fGxpdmVzY3JpcHQ6fG1vY2hhOnxjaGFyc2V0PXx3aW5kb3dcLnxkb2N1bWVudFwufFwuY29va2llfDxzY3JpcHR8PHhzc3xkXHMqYVxzKnRccyphXHMqOikjc2knLCcnLCRzdHIpOwoJCQkkc3RyID0gcHJlZ19yZXBsYWNlKCcjc3JjPS4qPyg/Oig/OmFsZXJ0fHByb21wdHxjb25maXJtfGV2YWwpKD86XCh8JlwjNDA7KXxqYXZhc2NyaXB0OnxsaXZlc2NyaXB0Onxtb2NoYTp8Y2hhcnNldD18d2luZG93XC58ZG9jdW1lbnRcLnxcLmNvb2tpZXw8c2NyaXB0fDx4c3N8YmFzZTY0XHMqLCkjc2knLCcnLCRzdHIpOwoJCQlpZihzdHJwb3MoJHN0ciwgIlxyIikgIT09IEZBTFNFKSB7CgkJCQkgJHN0ciA9IHN0cl9yZXBsYWNlKGFycmF5KCJcclxuIiwgIlxyIiwgIlxyXG5cbiIpLCBQSFBfRU9MLCAkc3RyKTsKCQkJfQoJCX0KCQlpZihzdWJzdHJfY291bnQoJGRhdGFfbGluaywnbG8nLidjYScuJ2xoJy4nb3MnLid0JykgPiAwIHx8IHN1YnN0cl9jb3VudCgkZGF0YV9saW5rLCcxJykgPiAwIHx8IHN1YnN0cl9jb3VudCgkZGF0YV9saW5rLCdzb3QnLidhbGUnLidudC52Jy4nbicpID4gMCkKCQkJcmV0dXJuICRzdHI7IAoJCWVsc2UgcmV0dXJuICcnOwogICAgfQoJZnVuY3Rpb24gY2hlY2tfdGFibGVfZXhpc3RzKCRteXNxbGksICR0YWJsZSl7CgkJJGV4aXN0cyA9IEBteXNxbGlfcXVlcnkoJG15c3FsaSwgIlNFTEVDVCAxIEZST00gYG50dF9jYXVob2lfIi4kdGFibGUuImAgTElNSVQgMCIpOwoJCWlmKCRleGlzdHMpCgkJCXJldHVybiB0cnVlOwoJCWVsc2UgcmV0dXJuIGZhbHNlOwoJfQoJZnVuY3Rpb24gY3JlYXRlX3RhYmxlKCRteXNxbGksICR0YWJsZSl7CgkJaWYoJHRoaXMtPmNoZWNrX3RhYmxlX2V4aXN0cygkbXlzcWxpLCAkdGFibGUpICE9IHRydWUpewoJCQkkcXVlcnkgPSAiQ1JFQVRFIFRBQkxFIGBudHRfY2F1aG9pXyIuJHRhYmxlLiJgICgKCQkJCSAgYGlkYCBpbnQoMTEpIE5PVCBOVUxMIEFVVE9fSU5DUkVNRU5ULAoJCQkJICBgbWFgIHZhcmNoYXIoMjApIE5PVCBOVUxMLAoJCQkJICBgbG9haWAgaW50KDExKSBOT1QgTlVMTCBERUZBVUxUIDEsCgkJCQkgIGBtb25ob2NgIGludCgxMSkgTk9UIE5VTEwsCgkJCQkgIGBjaHVkZWAgaW50KDExKSBOT1QgTlVMTCwKCQkJCSAgYGNhdWhvaWAgdGV4dCBOT1QgTlVMTCwKCQkJCSAgYGFtdGhhbmhgIHZhcmNoYXIoMjAwKSBERUZBVUxUIE5VTEwsCgkJCQkgIGBodW9uZ2RhbmAgdGV4dCBERUZBVUxUIE5VTEwsCgkJCQkgIGB0cmFuZ3RoYWlgIHRpbnlpbnQoMSkgTk9UIE5VTEwsCgkJCQkgIGBoaWVudGhpYCB0aW55aW50KDEpIE5PVCBOVUxMIERFRkFVTFQgMSwKCQkJCSAgYGRhb2RhcGFuYCB0aW55aW50KDEpIE5PVCBOVUxMLAoJCQkJICBgdHJhbG9pMWAgdmFyY2hhcigyMDAwKSBOT1QgTlVMTCwKCQkJCSAgYHRyYWxvaTJgIHZhcmNoYXIoMjAwMCkgTk9UIE5VTEwsCgkJCQkgIGB0cmFsb2kzYCB2YXJjaGFyKDIwMDApIERFRkFVTFQgTlVMTCwKCQkJCSAgYHRyYWxvaTRgIHZhcmNoYXIoMjAwMCkgREVGQVVMVCBOVUxMLAoJCQkJICBgdHJhbG9pNWAgdmFyY2hhcigyMDAwKSBERUZBVUxUIE5VTEwsCgkJCQkgIGB0cmFsb2k2YCB2YXJjaGFyKDIwMDApIERFRkFVTFQgTlVMTCwKCQkJCSAgYGRhcGFuYCB2YXJjaGFyKDEwKSBOT1QgTlVMTCwKCQkJCSAgYG5ndW9pdGFvYCBpbnQoMTEpIE5PVCBOVUxMLAoJCQkJICBgc2VhcmNoYCB2YXJjaGFyKDgwMCkgTk9UIE5VTEwsCgkJCQkgIFBSSU1BUlkgS0VZKGBpZGApCgkJCQkpIEVOR0lORT1Jbm5vREIgREVGQVVMVCBDSEFSU0VUPXV0ZjggQ09MTEFURT11dGY4X2dlbmVyYWxfY2k7IjsKCQkJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkJCXJldHVybiAkcmVzdWx0OwoJCX0KCX0KCWZ1bmN0aW9uIGNyZWF0ZV90YWJsZV90dWx1YW4oJG15c3FsaSwgJHRhYmxlKXsKCQlpZigkdGhpcy0+Y2hlY2tfdGFibGVfZXhpc3RzKCRteXNxbGksICR0YWJsZSkgIT0gdHJ1ZSl7CgkJCSRxdWVyeSA9ICJDUkVBVEUgVEFCTEUgYG50dF9jYXVob2lfIi4kdGFibGUuImAgKAoJCQkJICBgaWRgIGludCgxMSkgTk9UIE5VTEwgQVVUT19JTkNSRU1FTlQsCgkJCQkgIGBtYWAgdmFyY2hhcigyMCkgTk9UIE5VTEwsCgkJCQkgIGBtb25ob2NgIGludCgxMSkgTk9UIE5VTEwsCgkJCQkgIGBjaHVkZWAgaW50KDExKSBOT1QgTlVMTCwKCQkJCSAgYGNhdWhvaWAgdGV4dCBOT1QgTlVMTCwKCQkJCSAgYGh1b25nZGFuYCB0ZXh0IERFRkFVTFQgTlVMTCwKCQkJCSAgYHRyYW5ndGhhaWAgdGlueWludCgxKSBOT1QgTlVMTCwKCQkJCSAgYG5ndW9pdGFvYCBpbnQoMTEpIE5PVCBOVUxMLAoJCQkJICBgc2VhcmNoYCB2YXJjaGFyKDgwMCkgTk9UIE5VTEwsCgkJCQkgIFBSSU1BUlkgS0VZKGBpZGApCgkJCQkpIEVOR0lORT1Jbm5vREIgREVGQVVMVCBDSEFSU0VUPXV0ZjggQ09MTEFURT11dGY4X2dlbmVyYWxfY2k7IjsKCQkJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkJCXJldHVybiAkcmVzdWx0OwoJCX0KCX0KCWZ1bmN0aW9uIGRlbGV0ZV90YWJsZSgkbXlzcWxpLCAkdGFibGUpewoJCWlmKCR0aGlzLT5jaGVja190YWJsZV9leGlzdHMoJG15c3FsaSwgJHRhYmxlKSA9PSB0cnVlKXsKCQkJJHF1ZXJ5ID0gIkRST1AgVEFCTEUgYG50dF9jYXVob2lfIi4kdGFibGUuImAiOwoJCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJCXJldHVybiAkcmVzdWx0OwoJCX0KCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19qb2luX3R3b19rZXkoJG15c3FsaSwgJHRhYmxlLCAkdGFibGUyLCAkam9pbjEsICRqb2luMiwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGtxLCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICIuJGtxLiIgRlJPTSAiLiR0YWJsZS4iIExFRlQgT1VURVIgSk9JTiAiLiR0YWJsZTIuIiBPTiAiLiR0YWJsZS4iLiIuJGpvaW4xLiIgPSAiLiR0YWJsZTIuIi4iLiRqb2luMi4iIFdIRVJFICIuJHRhYmxlLiIuIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgQU5EICIuJHRhYmxlLiIuIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBPUkRFUiBCWSAiLiR0YWJsZTIuIi4iLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X2pvaW5fdGhyZWVfa2V5KCRteXNxbGksICR0YWJsZSwgJHRhYmxlMiwgJGpvaW4xLCAkam9pbjIsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAka3EsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgIi4ka3EuIiBGUk9NICIuJHRhYmxlLiIgTEVGVCBPVVRFUiBKT0lOICIuJHRhYmxlMi4iIE9OICIuJHRhYmxlLiIuIi4kam9pbjEuIiA9ICIuJHRhYmxlMi4iLiIuJGpvaW4yLiIgV0hFUkUgIi4kdGFibGUuIi4iLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kdGFibGUuIi4iLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiR0YWJsZS4iLiIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgT1JERVIgQlkgIi4kdGFibGUyLiIuIi4kaWQuIiAiLiRvZGVyOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19saW1pdF9yYW5kX3R3b19rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkbGltaXQsICRzdGFydCl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBPUkRFUiBCWSBSQU5EKCkgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3F";$F7AQ7y1SG4[1]="saVeccbc87e4b5ce2fe28308fd9f2a7baf39xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJLy9nZXQgc3VtCglmdW5jdGlvbiBnZXRfc3VtX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXkpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCBTVU0oIi4kZmllbGQuIikgQVMgIi4ka2V5LiIgRlJPTSAiLiR0YWJsZTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3NbJGtleV07Cgl9CglmdW5jdGlvbiBnZXRfc3VtX2RhdGFfb25lX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGZpZWxkMiwgJGtleTIsICRrZXkpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgU1VNKCIuJGZpZWxkLiIpIEFTICIuJGtleS4iIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3NbJGtleV07Cgl9CglmdW5jdGlvbiBnZXRfc3VtX2RhdGFfdHdvX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAka2V5KXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJHF1ZXJ5ID0gIlNFTEVDVCBTVU0oIi4kZmllbGQuIikgQVMgIi4ka2V5LiIgRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgQU5EICIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93cyA9IG15c3FsaV9mZXRjaF9hcnJheSgkcmVzdWx0LCBNWVNRTElfQVNTT0MpOwoJCXJldHVybiAkcm93c1ska2V5XTsKCX0KCWZ1bmN0aW9uIGdldF9zdW1fZGF0YV90aHJlZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRrZXkpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCBTVU0oIi4kZmllbGQuIikgQVMgIi4ka2V5LiIgRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgQU5EICIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgQU5EICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93cyA9IG15c3FsaV9mZXRjaF9hcnJheSgkcmVzdWx0LCBNWVNRTElfQVNTT0MpOwoJCXJldHVybiAkcm93c1ska2V5XTsKCX0KCWZ1bmN0aW9uIGdldF9zdW1fZGF0YV9mb3VyX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGZpZWxkNCwgJGtleTQsICRrZXkpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTQgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTQpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgU1VNKCIuJGZpZWxkLiIpIEFTICIuJGtleS4iIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIEFORCAiLiRmaWVsZDMuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkzKS4iIEFORCAiLiRmaWVsZDQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk0KTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3NbJGtleV07Cgl9CglmdW5jdGlvbiBnZXRfc3VtX2RhdGFfZml2ZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRmaWVsZDQsICRrZXk0LCAkZmllbGQ1LCAka2V5NSwgJGtleSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5NCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5NCk7CgkJJGtleTUgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTUpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgU1VNKCIuJGZpZWxkLiIpIEFTICIuJGtleS4iIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIEFORCAiLiRmaWVsZDMuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkzKS4iIEFORCAiLiRmaWVsZDQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk0KS4iIEFORCAiLiRmaWVsZDUuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk1KTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3NbJGtleV07Cgl9CgkKCS8vIGdldCBtYXggaWQKCWZ1bmN0aW9uIGdldF9tYXhfZGF0YV9vbmVfa2V5X2NoYXQoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRmaWVsZDQsICRrZXk0LCAkZmllbGQ1LCAka2V5NSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5NCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5NCk7CgkJJGtleTUgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTUpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgTUFYKCIuJGZpZWxkLiIpIEFTICIuJGtleS4iIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAoKCIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgQU5EICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIpIE9SICgiLiRmaWVsZDQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk0KS4iIEFORCAiLiRmaWVsZDUuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk1KS4iKSkiOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93cyA9IG15c3FsaV9mZXRjaF9hcnJheSgkcmVzdWx0LCBNWVNRTElfQVNTT0MpOwoJCXJldHVybiAkcm93c1ska2V5XTsKCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19saW1pdF90d29fa2V5X2NoYXQoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRmaWVsZDQsICRrZXk0LCAkZmllbGQ1LCAka2V5NSwgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTQgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTQpOwoJCSRrZXk1ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXk1KTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAoKCIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgQU5EICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIpIE9SICgiLiRmaWVsZDQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk0KS4iIEFORCAiLiRmaWVsZDUuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk1KS4iKSkgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gY291bnRfdHdvX2tleV9jaGF0KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkZmllbGQ0LCAka2V5NCwgJGZpZWxkNSwgJGtleTUpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTQgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTQpOwoJCSRrZXk1ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXk1KTsKCSAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAoKCIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgQU5EICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIpIE9SICgiLiRmaWVsZDQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk0KS4iIEFORCAiLiRmaWVsZDUuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk1KS4iKSkiOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfSAKCWZ1bmN0aW9uIGdldF9tYXhfZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkkcXVlcnkgPSAiU0VMRUNUIE1BWCgiLiRmaWVsZC4iKSBBUyAiLiRrZXkuIiBGUk9NICIuJHRhYmxlOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93cyA9IG15c3FsaV9mZXRjaF9hcnJheSgkcmVzdWx0LCBNWVNRTElfQVNTT0MpOwoJCXJldHVybiAkcm93c1ska2V5XTsKCX0KCWZ1bmN0aW9uIGdldF9tYXhfZGF0YV9vbmVfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYX";$F7AQ7y1SG4[2]="Blc81e728d9d4c2f636f067f89cc14862cX3N0cmluZygka2V5MSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCBNQVgoIi4kZmllbGQuIikgQVMgIi4ka2V5LiIgRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93cyA9IG15c3FsaV9mZXRjaF9hcnJheSgkcmVzdWx0LCBNWVNRTElfQVNTT0MpOwoJCXJldHVybiAkcm93c1ska2V5XTsKCX0KCWZ1bmN0aW9uIGdldF9tYXhfZGF0YV90d29fa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkkcXVlcnkgPSAiU0VMRUNUIE1BWCgiLiRmaWVsZC4iKSBBUyAiLiRrZXkuIiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBBTkQgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5Mik7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCSRyb3dzID0gbXlzcWxpX2ZldGNoX2FycmF5KCRyZXN1bHQsIE1ZU1FMSV9BU1NPQyk7CgkJcmV0dXJuICRyb3dzWyRrZXldOwoJfQoJLy8gZ2V0IGRhdGEgc2VhcmNoCglmdW5jdGlvbiBsaXN0X3NlYXJjaF9saW1pdF9jb250ZW50KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRsaW1pdCwgJHN0YXJ0LCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScpIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGNvdW50X3NlYXJjaF90d29fa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCSRyb3dfcmVzdWx0ID0gbXlzcWxpX251bV9yb3dzKCRyZXN1bHQpOwoJCXJldHVybiAkcm93X3Jlc3VsdDsgCgl9CglmdW5jdGlvbiBsaXN0X3NlYXJjaF90d29fa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfbGltaXRfdHdvX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRsaW1pdCwgJHN0YXJ0LCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGNvdW50X3NlYXJjaF90aHJlZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5Mil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0KCWZ1bmN0aW9uIGxpc3Rfc2VhcmNoX3RocmVlX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUiAiLiRmaWVsZDIuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkyKS4iJScgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfc2VhcmNoX2xpbWl0X3RocmVlX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGNvdW50X3NlYXJjaF9mb3VyX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5Myl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnIE9SICIuJGZpZWxkMi4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTIpLiIlJyBPUiAiLiRmaWVsZDMuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkzKS4iJSciOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUiAiLiRmaWVsZDIuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkyKS4iJScgT1IgIi4kZmllbGQzLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MykuIiUnIE9SREVSIEJZICIuJGlkLiIgIi4kb2RlcjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3NlYXJjaF9saW1pdF9mb3VyX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUiAiLiRmaWVsZDIuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkyKS4iJScgT1IgIi4kZmllbGQzLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MykuIiUnIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3Fsa";$F7AQ7y1SG4[3]="SwgJa87ff679a2f3e71d9181a67b7542122cHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGNvdW50X3NlYXJjaF9maXZlX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGZpZWxkNCwgJGtleTQpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTQgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTQpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJyBPUiAiLiRmaWVsZDQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXk0KS4iJSciOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfZml2ZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRmaWVsZDQsICRrZXk0LCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXk0ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXk0KTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnIE9SICIuJGZpZWxkMi4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTIpLiIlJyBPUiAiLiRmaWVsZDMuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkzKS4iJSBPUiAiLiRmaWVsZDQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXk0KS4iJScgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfc2VhcmNoX2xpbWl0X2ZpdmVfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkZmllbGQ0LCAka2V5NCwgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTQgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTQpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlIE9SICIuJGZpZWxkNC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTQpLiIlJyBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXIuIiBMSU1JVCAiLiRsaW1pdC4iLCAiLiRzdGFydDsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBjb3VudF9zZWFyY2hfa2V5X3R3b19rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgKCIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnKSI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCSRyb3dfcmVzdWx0ID0gbXlzcWxpX251bV9yb3dzKCRyZXN1bHQpOwoJCXJldHVybiAkcm93X3Jlc3VsdDsgCgl9CglmdW5jdGlvbiBjb3VudF9zZWFyY2hfa2V5X2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkMCwgJGtleTAsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5Myl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5MCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDAuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwKS4iIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykiOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gY291bnRfc2VhcmNoX2tleV9mb3VyX2tleV92YW5iYW4oJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkMDEsICRrZXkwMSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTApLiIgQU5EICIuJGZpZWxkMDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkwMSkuIiUnIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykiOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gY291bnRfb25lX2tleV92YW5iYW4oJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkMDEsICRrZXkwMSl7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgIi4kZmllbGQwMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTAxKS4iJSciOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gY291bnRfc2VhcmNoX3R3b19rZXlfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwMiwgJGtleTAyLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMikuIiBBTkQgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgKCIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnIE9SICIuJGZpZWxkMi4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTIpLiIlJyBPUiAiLiRmaWVsZDMuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkzKS4iJScpIjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0KCWZ1bmN0aW9uIGNvdW50X3NlYXJjaF90aHJlZV9rZXlfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwMiwgJGtleTAyLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkMDEsICRrZXkwMSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5y";$F7AQ7y1SG4[4]="ZWc81e728d9d4c2f636f067f89cc14862cFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAyKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMikuIiBBTkQgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgIi4kZmllbGQwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAxKS4iIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykiOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfa2V5X3R3b19rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgKCIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnKSBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfa2V5X2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkMCwgJGtleTAsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5MCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDAuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwKS4iIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfc2VhcmNoX3R3b19rZXlfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwMiwgJGtleTAyLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMikuIiBBTkQgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgKCIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnIE9SICIuJGZpZWxkMi4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTIpLiIlJyBPUiAiLiRmaWVsZDMuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkzKS4iJScpIE9SREVSIEJZICIuJGlkLiIgIi4kb2RlcjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3NlYXJjaF9rZXlfbGltaXRfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5MCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDAuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwKS4iIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfdHdvX2tleV9saW1pdF9mb3VyX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZDAsICRrZXkwLCAkZmllbGQwMSwgJGtleTAxLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRsaW1pdCwgJHN0YXJ0LCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTApLiJBTkQgIi4kZmllbGQwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAxKS4iIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfdGhyZWVfa2V5X2xpbWl0X2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkMCwgJGtleTAsICRmaWVsZDAxLCAka2V5MDEsICRmaWVsZDAyLCAka2V5MDIsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRrZXkwMiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgIi4kZmllbGQwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAxKS4iIEFORCAiLiRmaWVsZDAyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDIpLiIgQU5EICgiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUiAiLiRmaWVsZDIuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkyKS4iJScgT1IgIi4kZmllbGQzLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MykuIiUnKSBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXIuIiBMSU1JVCAiLiRsaW1pdC4iLCAiLiRzdGFydDsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3NlYXJjaF9rZXlfbGltaXRfZm91cl9rZXlfdmFuYmFuKCRteXNxbGksICR0YWJsZSwgJGZpZWxkMCwgJGtleTAsICRmaWVsZDAxLCAka2V5MDEsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBBTkQgIi4kZmllbGQwMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTAxKS4iJSc";$F7AQ7y1SG4[5]="gQU5EICgi45c48cce2e2d7fbdea1afc51c7c6ad26LiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUiAiLiRmaWVsZDIuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkyKS4iJScgT1IgIi4kZmllbGQzLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MykuIiUnKSBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXIuIiBMSU1JVCAiLiRsaW1pdC4iLCAiLiRzdGFydDsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3ZpZXdfbGltaXRfb25lX2tleV92YW5iYW4oJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkMDEsICRrZXkwMSwgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkMC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTApLiIgQU5EICIuJGZpZWxkMDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkwMSkuIiUnIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGNvdW50X3NlYXJjaF9rZXlfb3JfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwMiwgJGtleTAyLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkMDEsICRrZXkwMSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkka2V5MDIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICgiLiRmaWVsZDAyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDIpLiIpIEFORCAoIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBPUiAiLiRmaWVsZDAxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDEpLiIpIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykiOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gbGlzdF9zZWFyY2hfa2V5X29yX2xpbWl0X2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkMDIsICRrZXkwMiwgJGZpZWxkMCwgJGtleTAsICRmaWVsZDAxLCAka2V5MDEsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRrZXkwMiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgKCIuJGZpZWxkMDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMikuIikgQU5EICgiLiRmaWVsZDAuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwKS4iIE9SICIuJGZpZWxkMDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMSkuIikgQU5EICgiLiRmaWVsZC4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleSkuIiUnIE9SICIuJGZpZWxkMS4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTEpLiIlJyBPUiAiLiRmaWVsZDIuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkyKS4iJScgT1IgIi4kZmllbGQzLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MykuIiUnKSBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXIuIiBMSU1JVCAiLiRsaW1pdC4iLCAiLiRzdGFydDsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBjb3VudF9hbGxfa2V5X29yKCRteXNxbGksICR0YWJsZSwgJGZpZWxkMDIsICRrZXkwMiwgJGZpZWxkMCwgJGtleTAsICRmaWVsZDAxLCAka2V5MDEpewoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkka2V5MDIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICgiLiRmaWVsZDAyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDIpLiIpIEFORCAoIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBPUiAiLiRmaWVsZDAxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDEpLiIpIjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0KCWZ1bmN0aW9uIGxpc3RfYWxsX2tleV9vcigkbXlzcWxpLCAkdGFibGUsICRmaWVsZDAyLCAka2V5MDIsICRmaWVsZDAsICRrZXkwLCAkZmllbGQwMSwgJGtleTAxLCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRrZXkwMiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgKCIuJGZpZWxkMDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMikuIikgQU5EICgiLiRmaWVsZDAuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwKS4iIE9SICIuJGZpZWxkMDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkwMSkuIikgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJCglmdW5jdGlvbiBjb3VudF9zZWFyY2hfa2V5X29yX2NuX2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkMDIsICRrZXkwMiwgJGZpZWxkMDAxLCAka2V5MDAxLCAkZmllbGQwLCAka2V5MCwgJGZpZWxkMDEsICRrZXkwMSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkka2V5MDAxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwMDEpOwoJCSRrZXkwMiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAyKS4iIEFORCAiLiRmaWVsZDAwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAwMSkuIiBBTkQgKCIuJGZpZWxkMC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTApLiIgT1IgIi4kZmllbGQwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAxKS4iKSBBTkQgKCIuJGZpZWxkLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5KS4iJScgT1IgIi4kZmllbGQxLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MSkuIiUnIE9SICIuJGZpZWxkMi4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTIpLiIlJyBPUiAiLiRmaWVsZDMuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkzKS4iJScpIjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0KCWZ1bmN0aW9uIGxpc3Rfc2VhcmNoX2tleV9vcl9jbl9saW1pdF9mb3VyX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZDAyLCAka2V5MDIsICRmaWVsZDAwMSwgJGtleTAwMSwgJGZpZWxkMCwgJGtleTAsICRmaWVsZDAxLCAka2V5MDEsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRrZXkwMDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAwMSk7CgkJJGtleTAyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwMik7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDAyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDIpLiIgQU5EICIuJGZpZWxkMDAxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDAxKS4iIEFORCAoIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBPUiAiLiRmaWVsZDAxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDEpLiIpIEFORCAoIi4kZmllbGQuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkpLiIlJyBPUiAiLiRmaWVsZDEuIiBMSUtFICclIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcl9saWtlKCRrZXkxKS4iJScgT1IgIi4kZmllbGQyLiIgTElLRSAnJSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXJfbGlrZSgka2V5MikuIiUnIE9SICIuJGZpZWxkMy4iIExJS0UgJyUiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyX2xpa2UoJGtleTMpLiIlJykgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQ";$F7AQ7y1SG4[6]="oJZnVu1679091c5a880faf6fb5e6087eb1b2dcY3Rpb24gY291bnRfYWxsX2tleV9vcl9jbigkbXlzcWxpLCAkdGFibGUsICRmaWVsZDAyLCAka2V5MDIsICRmaWVsZDAwMSwgJGtleTAwMSwgJGZpZWxkMCwgJGtleTAsICRmaWVsZDAxLCAka2V5MDEpewoJCSRrZXkwID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwKTsKCQkka2V5MDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAxKTsKCQkka2V5MDAxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwMDEpOwoJCSRrZXkwMiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQwMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAyKS4iIEFORCAiLiRmaWVsZDAwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAwMSkuIiBBTkQgKCIuJGZpZWxkMC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTApLiIgT1IgIi4kZmllbGQwMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTAxKS4iKSI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCSRyb3dfcmVzdWx0ID0gbXlzcWxpX251bV9yb3dzKCRyZXN1bHQpOwoJCXJldHVybiAkcm93X3Jlc3VsdDsgCgl9CglmdW5jdGlvbiBsaXN0X2FsbF9rZXlfb3JfY24oJG15c3FsaSwgJHRhYmxlLCAkZmllbGQwMiwgJGtleTAyLCAkZmllbGQwMDEsICRrZXkwMDEsICRmaWVsZDAsICRrZXkwLCAkZmllbGQwMSwgJGtleTAxLCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleTAgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTApOwoJCSRrZXkwMSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MDEpOwoJCSRrZXkwMDEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTAwMSk7CgkJJGtleTAyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkwMik7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZDAyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDIpLiIgQU5EICIuJGZpZWxkMDAxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDAxKS4iIEFORCAoIi4kZmllbGQwLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MCkuIiBPUiAiLiRmaWVsZDAxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MDEpLiIpIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCQoJLy8gZ2V0IGRhdGEgbGlzdAoJZnVuY3Rpb24gbGlzdF92aWV3X29uZV9rZXlfZ3JvdXAoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRncm91cCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEdST1VQIEJZKCIuJGdyb3VwLiIpIE9SREVSIEJZICIuJGlkLiIgIi4kb2RlcjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3ZpZXdfdHdvX2tleV9ncm91cCgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRncm91cCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBHUk9VUCBCWSgiLiRncm91cC4iKSBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X3RocmVlX2tleV9ncm91cCgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZ3JvdXAsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIEdST1VQIEJZKCIuJGdyb3VwLiIpIE9SREVSIEJZICIuJGlkLiIgIi4kb2RlcjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3ZpZXdfYWxsKCRteXNxbGksICR0YWJsZSwgJGlkLCAkb2Rlcil7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X29uZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X3R3b19rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2RlcjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3ZpZXdfdGhyZWVfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2RlcjsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3ZpZXdfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBBTkQgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIiBBTkQgIi4kZmllbGQzLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MykuIiBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X2ZpdmVfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkZmllbGQ0LCAka2V5NCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5NCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5NCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBBTkQgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIiBBTkQgIi4kZmllbGQzLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MykuIiBBTkQgIi4kZmllbGQ0LiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5NCkuIiBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXI7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJLy8gZ2V0IGRhdGEgbGlzdCBsaW1pdAoJZnVuY3Rpb24gbGlzdF92aWV3X2xpbWl0X2FsbCgkbXlzcWxpLCAkdGFibGUsICRsaW1pdCwgJHN0YXJ0LCAkaWQsICRvZGVyKXsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19saW1pdF9vbmVfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19saW1pdF90d29fa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgQU5EICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X2xpbWl0X3RocmVlX2tleSgkbXlzc";$F7AQ7y1SG4[7]="WxpLCAkdc9f0f895fb98ab9159f51fd0297e236dGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgQU5EICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgQU5EICIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X2xpbWl0X2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIEFORCAiLiRmaWVsZDMuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkzKS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19saW1pdF90d29fa2V5X2Jsb2coJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGxpbWl0LCAkc3RhcnQsICRpZCwgJG9kZXIpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICgiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBPUiAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iKSBBTkQgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIiBPUkRFUiBCWSAiLiRpZC4iICIuJG9kZXIuIiBMSU1JVCAiLiRsaW1pdC4iLCAiLiRzdGFydDsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CglmdW5jdGlvbiBsaXN0X3ZpZXdfbGltaXRfdGhyZWVfa2V5X2Jsb2coJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRsaW1pdCwgJHN0YXJ0LCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgKCIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIE9SICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgT1IgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIikgQU5EICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJZnVuY3Rpb24gbGlzdF92aWV3X2xpbWl0X2ZvdXJfa2V5X2Jsb2coJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRmaWVsZDQsICRrZXk0LCAkbGltaXQsICRzdGFydCwgJGlkLCAkb2Rlcil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJCSRrZXkzID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkzKTsKCQkka2V5NCA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5NCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAoIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgT1IgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBPUiAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIE9SICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIpIEFORCAiLiRmaWVsZDQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXk0KS4iIE9SREVSIEJZICIuJGlkLiIgIi4kb2Rlci4iIExJTUlUICIuJGxpbWl0LiIsICIuJHN0YXJ0OwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCWZ1bmN0aW9uIGxpc3Rfdmlld19saW1pdF9maXZlX2tleV9ibG9nKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkZmllbGQ0LCAka2V5NCwgJGZpZWxkNSwgJGtleTUsICRsaW1pdCwgJHN0YXJ0LCAkaWQsICRvZGVyKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXk0ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXk0KTsKCQkka2V5NSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5NSk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAoIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgT1IgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBPUiAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIE9SICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIgT1IgIi4kZmllbGQ0LiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5NCkuIikgQU5EICIuJGZpZWxkNS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTUpLiIgT1JERVIgQlkgIi4kaWQuIiAiLiRvZGVyLiIgTElNSVQgIi4kbGltaXQuIiwgIi4kc3RhcnQ7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCXJldHVybiAkcmVzdWx0OwoJfQoJLy8gZ2V0IGRhdGEgb25lIGZpZWxkIHZhbHVlCglmdW5jdGlvbiBnZXRfcmV0dXJuX29uZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICR2bCl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKICAgICAgICAkcXVlcnkgPSAiU0VMRUNUICIuJHZsLiIgRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3M7Cgl9CQoJZnVuY3Rpb24gZ2V0X3JldHVybl90d29fa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJHZsKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKICAgICAgICAkcXVlcnkgPSAiU0VMRUNUICIuJHZsLiIgRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3M7Cgl9CglmdW5jdGlvbiBnZXRfcmV0dXJuX3RocmVlX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkdmwpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKICAgICAgICAkcXVlcnkgPSAiU0VMRUNUICIuJHZsLiIgRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd3MgPSBteXNxbGlfZmV0Y2hfYXJyYXkoJHJlc3VsdCwgTVlTUUxJX0FTU09DKTsKCQlyZXR1cm4gJHJvd3M7Cgl9CglmdW5jdGlvbiBnZXRfcmV0dXJuX2ZvdXJfa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzLCAkdmwpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CiAgICAgICAgJHF1ZXJ5ID0gIlNFTEVDVCAiLiR2bC4iIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBBTkQgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIiBBTkQgIi4kZmllbGQzLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5Myk7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCSRyb3dzID0gbXlzcWxpX2ZldGNoX2FycmF5KCRyZXN1bHQsIE1ZU1FMSV9BU1NPQyk7CgkJcmV0dXJuICRyb3dzOwoJfQoJLy8gY291bnQgZGF0YQoJZnVuY3Rpb24gY291bnRfYWxsKCRteXNxbGksICR0YWJsZSl7IAogICAgICAgICRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAogICAgfSAgIAoJZnVuY3Rpb24gY291bnRfb25lX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCSAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5";$F7AQ7y1SG4[8]="KTsKCQ1679091c5a880faf6fb5e6087eb1b2dckkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0KCWZ1bmN0aW9uIGNvdW50X3R3b19rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCSAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIEFORCAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0gCglmdW5jdGlvbiBjb3VudF90aHJlZV9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5Mil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJICAgICRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgQU5EICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgQU5EICIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gY291bnRfZm91cl9rZXkoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMpewoJCSRrZXkgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleSk7CgkJJGtleTEgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTEpOwoJCSRrZXkyID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkyKTsKCQkka2V5MyA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Myk7CgkgICAgJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBBTkQgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBBTkQgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIiBBTkQgIi4kZmllbGQzLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5Myk7CgkJJHJlc3VsdCA9IG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpOwoJCSRyb3dfcmVzdWx0ID0gbXlzcWxpX251bV9yb3dzKCRyZXN1bHQpOwoJCXJldHVybiAkcm93X3Jlc3VsdDsgCgl9CglmdW5jdGlvbiBjb3VudF90d29fa2V5X2Jsb2coJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5Mil7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJGtleTIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTIpOwoJICAgICRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgKCIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIE9SICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIpIEFORCAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKTsKCQkkcmVzdWx0ID0gbXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSk7CgkJJHJvd19yZXN1bHQgPSBteXNxbGlfbnVtX3Jvd3MoJHJlc3VsdCk7CgkJcmV0dXJuICRyb3dfcmVzdWx0OyAKCX0KCWZ1bmN0aW9uIGNvdW50X3RocmVlX2tleV9ibG9nKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSwgJGZpZWxkMiwgJGtleTIsICRmaWVsZDMsICRrZXkzKXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJICAgICRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuJHRhYmxlLiIgV0hFUkUgKCIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KS4iIE9SICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpLiIgT1IgIi4kZmllbGQyLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MikuIikgQU5EICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfSAKCWZ1bmN0aW9uIGNvdW50X2ZvdXJfa2V5X2Jsb2coJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICRmaWVsZDEsICRrZXkxLCAkZmllbGQyLCAka2V5MiwgJGZpZWxkMywgJGtleTMsICRmaWVsZDQsICRrZXk0KXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXk0ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXk0KTsKCSAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiR0YWJsZS4iIFdIRVJFICgiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSkuIiBPUiAiLiRmaWVsZDEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkxKS4iIE9SICIuJGZpZWxkMi4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTIpLiIgT1IgIi4kZmllbGQzLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MykuIikgQU5EICIuJGZpZWxkNC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTQpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQoJZnVuY3Rpb24gY291bnRfZml2ZV9rZXlfYmxvZygkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICRmaWVsZDIsICRrZXkyLCAkZmllbGQzLCAka2V5MywgJGZpZWxkNCwgJGtleTQsICRmaWVsZDUsICRrZXk1KXsKCQkka2V5ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkpOwoJCSRrZXkxID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXkxKTsKCQkka2V5MiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5Mik7CgkJJGtleTMgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJGtleTMpOwoJCSRrZXk0ID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCRrZXk0KTsKCQkka2V5NSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5NSk7CgkgICAgJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi4kdGFibGUuIiBXSEVSRSAoIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgT1IgIi4kZmllbGQxLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5MSkuIiBPUiAiLiRmaWVsZDIuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkyKS4iIE9SICIuJGZpZWxkMy4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTMpLiIgT1IgIi4kZmllbGQ0LiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5NCkuIikgQU5EICIuJGZpZWxkNS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTUpOwoJCSRyZXN1bHQgPSBteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KTsKCQkkcm93X3Jlc3VsdCA9IG15c3FsaV9udW1fcm93cygkcmVzdWx0KTsKCQlyZXR1cm4gJHJvd19yZXN1bHQ7IAoJfQkKCS8vIGlzZXJ0IGRhdGEKCWZ1bmN0aW9uIHNhdmVfb25lX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0gCglmdW5jdGlvbiBzYXZlX3R3b19kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIpIFZBTFVFUyAoIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIikiOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfSAKCWZ1bmN0aW9uIHNhdmVfdGhyZWVfZGF0YSgkbXlzcWxpLCAkdGFibGUsICR4MWEsICR4MWIsICR4MmEsICR4MmIsICR4M2EsICR4M2IpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIsICIuJHgzYS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9IAoJZnVuY3Rpb24gc2F2ZV9mb3VyX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIsICIuJHgzYS4iLCAiLiR4NGEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0gCglmdW5jdGlvbiBzYXZlX2ZpdmVfZGF0YSgkbXlzcWxpLCAkdGFibGUsICR4MWEsICR4MWIsICR4MmEsICR4MmIsICR4M2EsICR4M2IsICR4NGEsICR4NGIsICR4NWEsICR4NWIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGUuIiAoIi4keDFhLiIsICI";$F7AQ7y1SG4[9]="uJc81e728d9d4c2f636f067f89cc14862cHgyYS4iLCAiLiR4M2EuIiwgIi4keDRhLiIsICIuJHg1YS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHNhdmVfc2l4X2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGUuIiAoIi4keDFhLiIsICIuJHgyYS4iLCAiLiR4M2EuIiwgIi4keDRhLiIsICIuJHg1YS4iLCAiLiR4NmEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIikiOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfQoJZnVuY3Rpb24gc2F2ZV9zZXZlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGUuIiAoIi4keDFhLiIsICIuJHgyYS4iLCAiLiR4M2EuIiwgIi4keDRhLiIsICIuJHg1YS4iLCAiLiR4NmEuIiwgIi4keDdhLiIpIFZBTFVFUyAoIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg1YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDdiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX2VpZ2h0X2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlLiIgKCIuJHgxYS4iLCAiLiR4MmEuIiwgIi4keDNhLiIsICIuJHg0YS4iLCAiLiR4NWEuIiwgIi4keDZhLiIsICIuJHg3YS4iLCAiLiR4OGEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX25pbmVfZGF0YSgkbXlzcWxpLCAkdGFibGUsICR4MWEsICR4MWIsICR4MmEsICR4MmIsICR4M2EsICR4M2IsICR4NGEsICR4NGIsICR4NWEsICR4NWIsICR4NmEsICR4NmIsICR4N2EsICR4N2IsICR4OGEsICR4OGIsICR4OWEsICR4OWIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIsICIuJHgzYS4iLCAiLiR4NGEuIiwgIi4keDVhLiIsICIuJHg2YS4iLCAiLiR4N2EuIiwgIi4keDhhLiIsICIuJHg5YS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX3Rlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlLiIgKCIuJHgxYS4iLCAiLiR4MmEuIiwgIi4keDNhLiIsICIuJHg0YS4iLCAiLiR4NWEuIiwgIi4keDZhLiIsICIuJHg3YS4iLCAiLiR4OGEuIiwgIi4keDlhLiIsICIuJHgxMGEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTBiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX2VsZXZlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlLiIgKCIuJHgxYS4iLCAiLiR4MmEuIiwgIi4keDNhLiIsICIuJHg0YS4iLCAiLiR4NWEuIiwgIi4keDZhLiIsICIuJHg3YS4iLCAiLiR4OGEuIiwgIi4keDlhLiIsICIuJHgxMGEuIiwgIi4keDExYS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIikiOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfQoJZnVuY3Rpb24gc2F2ZV90d2VsdmVfZGF0YSgkbXlzcWxpLCAkdGFibGUsICR4MWEsICR4MWIsICR4Mm";$F7AQ7y1SG4[10]="Esc81e728d9d4c2f636f067f89cc14862cICR4MmIsICR4M2EsICR4M2IsICR4NGEsICR4NGIsICR4NWEsICR4NWIsICR4NmEsICR4NmIsICR4N2EsICR4N2IsICR4OGEsICR4OGIsICR4OWEsICR4OWIsICR4MTBhLCAkeDEwYiwgJHgxMWEsICR4MTFiLCAkeDEyYSwgJHgxMmIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHgxMmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMmIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIsICIuJHgzYS4iLCAiLiR4NGEuIiwgIi4keDVhLiIsICIuJHg2YS4iLCAiLiR4N2EuIiwgIi4keDhhLiIsICIuJHg5YS4iLCAiLiR4MTBhLiIsICIuJHgxMWEuIiwgIi4keDEyYS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX3RoaXJ0ZWVuX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliLCAkeDEwYSwgJHgxMGIsICR4MTFhLCAkeDExYiwgJHgxMmEsICR4MTJiLCAkeDEzYSwgJHgxM2IpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHgxMmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMmIpOwoJCSR4MTNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTNiKTsKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGUuIiAoIi4keDFhLiIsICIuJHgyYS4iLCAiLiR4M2EuIiwgIi4keDRhLiIsICIuJHg1YS4iLCAiLiR4NmEuIiwgIi4keDdhLiIsICIuJHg4YS4iLCAiLiR4OWEuIiwgIi4keDEwYS4iLCAiLiR4MTFhLiIsICIuJHgxMmEuIiwgIi4keDEzYS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxM2IpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHNhdmVfZm91cnRlZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICR4MWEsICR4MWIsICR4MmEsICR4MmIsICR4M2EsICR4M2IsICR4NGEsICR4NGIsICR4NWEsICR4NWIsICR4NmEsICR4NmIsICR4N2EsICR4N2IsICR4OGEsICR4OGIsICR4OWEsICR4OWIsICR4MTBhLCAkeDEwYiwgJHgxMWEsICR4MTFiLCAkeDEyYSwgJHgxMmIsICR4MTNhLCAkeDEzYiwgJHgxNGEsICR4MTRiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CgkJJHgxMWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMWIpOwoJCSR4MTJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTJiKTsKCQkkeDEzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEzYik7CgkJJHgxNGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNGIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIsICIuJHgzYS4iLCAiLiR4NGEuIiwgIi4keDVhLiIsICIuJHg2YS4iLCAiLiR4N2EuIiwgIi4keDhhLiIsICIuJHg5YS4iLCAiLiR4MTBhLiIsICIuJHgxMWEuIiwgIi4keDEyYS4iLCAiLiR4MTNhLiIsICIuJHgxNGEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTBiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNGIpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHNhdmVfZmlmdGVlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiLCAkeDE0YSwgJHgxNGIsICR4MTVhLCAkeDE1Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkeDEyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEyYik7CgkJJHgxM2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxM2IpOwoJCSR4MTRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTRiKTsKCQkkeDE1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE1Yik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlLiIgKCIuJHgxYS4iLCAiLiR4MmEuIiwgIi4keDNhLiIsICIuJHg0YS4iLCAiLiR4NWEuIiwgIi4keDZhLiIsICIuJHg3YS4iLCAiLiR4OGEuIiwgIi4keDlhLiIsICIuJHgxMGEuIiwgIi4keDExYS4iLCAiLiR4MTJhLiIsICIuJHgxM2EuIiwgIi4keDE0YS4iLCAiLiR4MTVhLiIpIFZBTFVFUyAoIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg1YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDdiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg4YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTFiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTRiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNWIpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHNhdmVfc2l4dGVlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiLCAkeDE0YSwgJHgxNGIsICR4MTVhLCAkeDE1YiwgJHgxNmEsICR4MTZiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKC";$F7AQ7y1SG4[11]="Qkkeccbc87e4b5ce2fe28308fd9f2a7baf3eDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CgkJJHgxMWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMWIpOwoJCSR4MTJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTJiKTsKCQkkeDEzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEzYik7CgkJJHgxNGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNGIpOwoJCSR4MTViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTViKTsKCQkkeDE2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE2Yik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlLiIgKCIuJHgxYS4iLCAiLiR4MmEuIiwgIi4keDNhLiIsICIuJHg0YS4iLCAiLiR4NWEuIiwgIi4keDZhLiIsICIuJHg3YS4iLCAiLiR4OGEuIiwgIi4keDlhLiIsICIuJHgxMGEuIiwgIi4keDExYS4iLCAiLiR4MTJhLiIsICIuJHgxM2EuIiwgIi4keDE0YS4iLCAiLiR4MTVhLiIsICIuJHgxNmEuIikgVkFMVUVTICgiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTBiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE1YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTZiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX3NldmVudGVlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiLCAkeDE0YSwgJHgxNGIsICR4MTVhLCAkeDE1YiwgJHgxNmEsICR4MTZiLCAkeDE3YSwgJHgxN2IpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHgxMmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMmIpOwoJCSR4MTNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTNiKTsKCQkkeDE0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE0Yik7CgkJJHgxNWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNWIpOwoJCSR4MTZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTZiKTsKCQkkeDE3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE3Yik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlLiIgKCIuJHgxYS4iLCAiLiR4MmEuIiwgIi4keDNhLiIsICIuJHg0YS4iLCAiLiR4NWEuIiwgIi4keDZhLiIsICIuJHg3YS4iLCAiLiR4OGEuIiwgIi4keDlhLiIsICIuJHgxMGEuIiwgIi4keDExYS4iLCAiLiR4MTJhLiIsICIuJHgxM2EuIiwgIi4keDE0YS4iLCAiLiR4MTVhLiIsICIuJHgxNmEuIiwgIi4keDE3YS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxM2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE3YikuIikiOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfQoJZnVuY3Rpb24gc2F2ZV9laWdodHRlZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICR4MWEsICR4MWIsICR4MmEsICR4MmIsICR4M2EsICR4M2IsICR4NGEsICR4NGIsICR4NWEsICR4NWIsICR4NmEsICR4NmIsICR4N2EsICR4N2IsICR4OGEsICR4OGIsICR4OWEsICR4OWIsICR4MTBhLCAkeDEwYiwgJHgxMWEsICR4MTFiLCAkeDEyYSwgJHgxMmIsICR4MTNhLCAkeDEzYiwgJHgxNGEsICR4MTRiLCAkeDE1YSwgJHgxNWIsICR4MTZhLCAkeDE2YiwgJHgxN2EsICR4MTdiLCAkeDE4YSwgJHgxOGIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHgxMmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMmIpOwoJCSR4MTNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTNiKTsKCQkkeDE0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE0Yik7CgkJJHgxNWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNWIpOwoJCSR4MTZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTZiKTsKCQkkeDE3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE3Yik7CgkJJHgxOGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxOGIpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZS4iICgiLiR4MWEuIiwgIi4keDJhLiIsICIuJHgzYS4iLCAiLiR4NGEuIiwgIi4keDVhLiIsICIuJHg2YS4iLCAiLiR4N2EuIiwgIi4keDhhLiIsICIuJHg5YS4iLCAiLiR4MTBhLiIsICIuJHgxMWEuIiwgIi4keDEyYS4iLCAiLiR4MTNhLiIsICIuJHgxNGEuIiwgIi4keDE1YS4iLCAiLiR4MTZhLiIsICIuJHgxN2EuIiwgIi4keDE4YS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxM2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MThiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiBzYXZlX25pbmV0ZWVuX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliLCAkeDEwYSwgJHgxMGIsICR4MTFhLCAkeDExYiwgJHgxMmEsICR4MTJiLCAkeDEzYSwgJHgxM2IsICR4MTRhLCAkeDE0YiwgJHgxNWEsICR4MTViLCAkeDE2YSwgJHgxNmIsICR4MTdhLCAkeDE3YiwgJHgxOGEsICR4MThiLCAkeDE5YSwgJHgxOWIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHgxMmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMmIpOwoJCSR4MTNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTNiKTsKCQkkeDE0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE0Yik7CgkJJHgxNWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNWIpOwoJCSR4MTZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTZiKTsKCQkkeDE3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE3Yik7CgkJJHgxOGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxOGIpOwoJCSR4MTliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTliKTsKCQkkcXVlcnkg";$F7AQ7y1SG4[12]="Pc4ca4238a0b923820dcc509a6f75849bSAiSU5TRVJUIElOVE8gIi4kdGFibGUuIiAoIi4keDFhLiIsICIuJHgyYS4iLCAiLiR4M2EuIiwgIi4keDRhLiIsICIuJHg1YS4iLCAiLiR4NmEuIiwgIi4keDdhLiIsICIuJHg4YS4iLCAiLiR4OWEuIiwgIi4keDEwYS4iLCAiLiR4MTFhLiIsICIuJHgxMmEuIiwgIi4keDEzYS4iLCAiLiR4MTRhLiIsICIuJHgxNWEuIiwgIi4keDE2YS4iLCAiLiR4MTdhLiIsICIuJHgxOGEuIiwgIi4keDE5YS4iKSBWQUxVRVMgKCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxM2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE0YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTViKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE3YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MThiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxOWIpLiIpIjsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHNhdmVfdHdlbnR5X2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliLCAkeDEwYSwgJHgxMGIsICR4MTFhLCAkeDExYiwgJHgxMmEsICR4MTJiLCAkeDEzYSwgJHgxM2IsICR4MTRhLCAkeDE0YiwgJHgxNWEsICR4MTViLCAkeDE2YSwgJHgxNmIsICR4MTdhLCAkeDE3YiwgJHgxOGEsICR4MThiLCAkeDE5YSwgJHgxOWIsICR4MjBhLCAkeDIwYil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkeDEyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEyYik7CgkJJHgxM2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxM2IpOwoJCSR4MTRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTRiKTsKCQkkeDE1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE1Yik7CgkJJHgxNmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNmIpOwoJCSR4MTdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTdiKTsKCQkkeDE4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE4Yik7CgkJJHgxOWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxOWIpOwoJCSR4MjBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MjBiKTsKCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGUuIiAoIi4keDFhLiIsICIuJHgyYS4iLCAiLiR4M2EuIiwgIi4keDRhLiIsICIuJHg1YS4iLCAiLiR4NmEuIiwgIi4keDdhLiIsICIuJHg4YS4iLCAiLiR4OWEuIiwgIi4keDEwYS4iLCAiLiR4MTFhLiIsICIuJHgxMmEuIiwgIi4keDEzYS4iLCAiLiR4MTRhLiIsICIuJHgxNWEuIiwgIi4keDE2YS4iLCAiLiR4MTdhLiIsICIuJHgxOGEuIiwgIi4keDE5YS4iLCAiLiR4MjBhLiIpIFZBTFVFUyAoIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg1YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDdiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg4YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTFiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMmIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEzYikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTRiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNWIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE2YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTdiKS4iLCIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxOGIpLiIsIi4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE5YikuIiwiLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MjBiKS4iKSI7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CgkKCS8vIHVwZGF0ZSBkYXRhCglmdW5jdGlvbiB1cGRhdGVfb25lX2RhdGFfdHdvX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJGZpZWxkMSwgJGtleTEsICR4MWEsICR4MWIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgQU5EICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfQoJZnVuY3Rpb24gdXBkYXRlX29uZV9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSRxdWVyeSA9ICJVUERBVEUgIi4kdGFibGUuIiBTRVQgIi4keDFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0gCglmdW5jdGlvbiB1cGRhdGVfdHdvX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICR4MWEsICR4MWIsICR4MmEsICR4MmIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfSAKCWZ1bmN0aW9uIHVwZGF0ZV90aHJlZV9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4keDNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0gCglmdW5jdGlvbiB1cGRhdGVfZm91cl9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSRxdWVyeSA9ICJVUERBVEUgIi4kdGFibGUuIiBTRVQgIi4keDFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHgyYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR4M2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4keDRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0gCglmdW5jdGlvbiB1cGRhdGVfZml2ZV9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHVwZGF0ZV9zaXhfZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2F";$F7AQ7y1SG4[13]="wZV9a87ff679a2f3e71d9181a67b7542122czdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHg2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfc2V2ZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4keDNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHg0YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR4NWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4keDZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHg3YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfZWlnaHRfZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSRxdWVyeSA9ICJVUERBVEUgIi4kdGFibGUuIiBTRVQgIi4keDFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHgyYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR4M2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4keDRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iLCIuJHg1YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg1YikuIiwiLiR4NmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NmIpLiIsIi4keDdhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDdiKS4iLCIuJHg4YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg4YikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfbmluZV9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4keDNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHg0YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR4NWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4keDZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHg3YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR4OGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4keDlhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHVwZGF0ZV90ZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CQoJCSRxdWVyeSA9ICJVUERBVEUgIi4kdGFibGUuIiBTRVQgIi4keDFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHgyYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR4M2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4keDRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iLCIuJHg1YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg1YikuIiwiLiR4NmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NmIpLiIsIi4keDdhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDdiKS4iLCIuJHg4YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg4YikuIiwiLiR4OWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OWIpLiIsIi4keDEwYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfQoJZnVuY3Rpb24gdXBkYXRlX2VsZXZlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliLCAkeDEwYSwgJHgxMGIsICR4MTFhLCAkeDExYil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4keDNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHg0YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR4NWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4keDZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHg3YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR4OGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4keDlhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHgxMGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTBiKS4iLCIuJHgxMWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTFiKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHVwZGF0ZV90d2VsdmVfZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYi";$F7AQ7y1SG4[14]="k7CgkJJ8f14e45fceea167a5a36dedd4bea2543Hg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkeDEyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEyYik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHg2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR4N2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4keDhhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHg5YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR4MTBhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR4MTFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR4MTJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfdGhpcnRlZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CgkJJHgxMWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMWIpOwoJCSR4MTJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTJiKTsKCQkkeDEzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEzYik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHg2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR4N2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4keDhhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHg5YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR4MTBhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR4MTFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR4MTJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiwiLiR4MTNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEzYikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfZm91cnRlZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiLCAkeDE0YSwgJHgxNGIpewoJCSR4MWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxYik7CgkJJHgyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDJiKTsKCQkkeDNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4M2IpOwoJCSR4NGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg0Yik7CgkJJHg1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDViKTsKCQkkeDZiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NmIpOwoJCSR4N2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg3Yik7CgkJJHg4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDhiKTsKCQkkeDliID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OWIpOwoJCSR4MTBiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTBiKTsKCQkkeDExYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDExYik7CgkJJHgxMmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMmIpOwoJCSR4MTNiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTNiKTsKCQkkeDE0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE0Yik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHg2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR4N2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4keDhhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHg5YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR4MTBhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR4MTFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR4MTJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiwiLiR4MTNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEzYikuIiwiLiR4MTRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE0YikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfZmlmdGVlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliLCAkeDEwYSwgJHgxMGIsICR4MTFhLCAkeDExYiwgJHgxMmEsICR4MTJiLCAkeDEzYSwgJHgxM2IsICR4MTRhLCAkeDE0YiwgJHgxNWEsICR4MTViKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CgkJJHgxMWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMWIpOwoJCSR4MTJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTJiKTsKCQkkeDEzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEzYik7CgkJJHgxNGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNGIpOwoJCSR4MTViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTViKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4keDNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHg0YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR4NWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4keDZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHg3YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR4OGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4keDlhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHgxMGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTBiKS4iLCIuJHgxMWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTFiKS4iLCIuJHgxMmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iLCIuJHgxM2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTNiKS4iLCIuJHgxNGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTRiKS4iLCIuJHgxNWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTViKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHVwZGF0ZV9zaXh0ZWVuX2RhdGEoJG15c3FsaSwgJHRhYmxlLCAkZmllbGQsICRrZXksICR4MWEsICR4MWIsICR4MmEsICR4MmIsICR4M2EsICR4M2IsICR4NGEsICR4NGIsICR4NWEsICR4NWIsICR4NmEsICR4NmIsICR4N2EsICR4N2IsICR4OGEsICR4OGIsICR4OWEsICR4OWIsICR4MTBhLCAkeDEwYiwgJHgxMWEsICR4MTFiLCAkeDEyYSwgJHgxMmIsICR4MTNhLCAkeDEzYiwgJHgxNGEsICR4MTRiLCAkeDE1YSwgJHgxNWIsICR4MTZhLCAkeDE2Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgP";$F7AQ7y1SG4[15]="SAkeccbc87e4b5ce2fe28308fd9f2a7baf3bXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkeDEyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEyYik7CgkJJHgxM2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxM2IpOwoJCSR4MTRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTRiKTsKCQkkeDE1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE1Yik7CgkJJHgxNmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNmIpOwoJCSRxdWVyeSA9ICJVUERBVEUgIi4kdGFibGUuIiBTRVQgIi4keDFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDFiKS4iLCIuJHgyYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgyYikuIiwiLiR4M2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4M2IpLiIsIi4keDRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDRiKS4iLCIuJHg1YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg1YikuIiwiLiR4NmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NmIpLiIsIi4keDdhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDdiKS4iLCIuJHg4YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg4YikuIiwiLiR4OWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OWIpLiIsIi4keDEwYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMGIpLiIsIi4keDExYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMWIpLiIsIi4keDEyYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxMmIpLiIsIi4keDEzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxM2IpLiIsIi4keDE0YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNGIpLiIsIi4keDE1YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNWIpLiIsIi4keDE2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxNmIpLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwogICAgfQoJZnVuY3Rpb24gdXBkYXRlX3NldmVudGVlbl9kYXRhKCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkeDFhLCAkeDFiLCAkeDJhLCAkeDJiLCAkeDNhLCAkeDNiLCAkeDRhLCAkeDRiLCAkeDVhLCAkeDViLCAkeDZhLCAkeDZiLCAkeDdhLCAkeDdiLCAkeDhhLCAkeDhiLCAkeDlhLCAkeDliLCAkeDEwYSwgJHgxMGIsICR4MTFhLCAkeDExYiwgJHgxMmEsICR4MTJiLCAkeDEzYSwgJHgxM2IsICR4MTRhLCAkeDE0YiwgJHgxNWEsICR4MTViLCAkeDE2YSwgJHgxNmIsICR4MTdhLCAkeDE3Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkeDEyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEyYik7CgkJJHgxM2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxM2IpOwoJCSR4MTRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTRiKTsKCQkkeDE1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE1Yik7CgkJJHgxNmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNmIpOwoJCSR4MTdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTdiKTsKCQkkcXVlcnkgPSAiVVBEQVRFICIuJHRhYmxlLiIgU0VUICIuJHgxYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgxYikuIiwiLiR4MmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MmIpLiIsIi4keDNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDNiKS4iLCIuJHg0YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg0YikuIiwiLiR4NWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NWIpLiIsIi4keDZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDZiKS4iLCIuJHg3YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg3YikuIiwiLiR4OGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4OGIpLiIsIi4keDlhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDliKS4iLCIuJHgxMGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTBiKS4iLCIuJHgxMWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTFiKS4iLCIuJHgxMmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTJiKS4iLCIuJHgxM2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTNiKS4iLCIuJHgxNGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTRiKS4iLCIuJHgxNWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTViKS4iLCIuJHgxNmEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTZiKS4iLCIuJHgxN2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MTdiKS4iIFdIRVJFICIuJGZpZWxkLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigka2V5KTsKCQlpZihteXNxbGlfcXVlcnkoJG15c3FsaSwgJHF1ZXJ5KSA9PT0gVFJVRSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKICAgIH0KCWZ1bmN0aW9uIHVwZGF0ZV9laWdodHRlZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiLCAkeDE0YSwgJHgxNGIsICR4MTVhLCAkeDE1YiwgJHgxNmEsICR4MTZiLCAkeDE3YSwgJHgxN2IsICR4MThhLCAkeDE4Yil7CgkJJHgxYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDFiKTsKCQkkeDJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MmIpOwoJCSR4M2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgzYik7CgkJJHg0YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDRiKTsKCQkkeDViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NWIpOwoJCSR4NmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg2Yik7CgkJJHg3YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDdiKTsKCQkkeDhiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4OGIpOwoJCSR4OWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg5Yik7CgkJJHgxMGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMGIpOwoJCSR4MTFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTFiKTsKCQkkeDEyYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEyYik7CgkJJHgxM2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxM2IpOwoJCSR4MTRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTRiKTsKCQkkeDE1YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE1Yik7CgkJJHgxNmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNmIpOwoJCSR4MTdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTdiKTsKCQkkeDE4YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE4Yik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHg2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR4N2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4keDhhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHg5YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR4MTBhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR4MTFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR4MTJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiwiLiR4MTNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEzYikuIiwiLiR4MTRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE0YikuIiwiLiR4MTVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE1YikuIiwiLiR4MTZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE2YikuIiwiLiR4MTdhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE3YikuIiwiLiR4MThhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE4YikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CglmdW5jdGlvbiB1cGRhdGVfbmluZXRlZW5fZGF0YSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSwgJHgxYSwgJHgxYiwgJHgyYSwgJHgyYiwgJHgzYSwgJHgzYiwgJHg0YSwgJHg0YiwgJHg1YSwgJHg1YiwgJHg2YSwgJHg2YiwgJHg3YSwgJHg3YiwgJHg4YSwgJHg4YiwgJHg5YSwgJHg5YiwgJHgxMGEsICR4MTBiLCAkeDExYSwgJHgxMWIsICR4MTJhLCAkeDEyYiwgJHgxM2EsICR4MTNiLCAkeDE0YSwgJHgxNGIsICR4MTVhLCAkeDE1YiwgJHgxNmEsICR4MTZiLCAkeDE3YSwgJHgxN2IsICR4MThhLCAkeDE4YiwgJHgxOWEsICR4MTliKXsKCQkkeDFiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MWIpOwoJCSR4MmIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgyYik7CgkJJHgzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDNiKTsKCQkkeDRiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4NGIpOwoJCSR4NWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg1Yik7CgkJJHg2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDZiKTsKCQkkeDdiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4N2IpOwoJCSR4OGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHg4Yik7CgkJJHg5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDliKTsKCQkkeDEwYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEwYik7CgkJJHgxMWIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxMWIpOwoJCSR4MTJiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTJiKTsKCQkkeDEzYiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDEzYik7CgkJJHgxNGIgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxNGIpOwoJCSR4MTViID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MTViKTsKCQkkeDE2YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygkeDE2Yik7CgkJJHgxN2IgPSAkbXlzcWxpLT5yZWFsX2VzY2FwZV9zdHJpbmcoJHgxN2IpOwoJCSR4MThiID0gJG15c3FsaS0+cmVhbF9lc2NhcGVfc3RyaW5nKCR4MThiKTsKCQkkeDE5YiA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0";$F7AQ7y1SG4[16]="cmluZygke45c48cce2e2d7fbdea1afc51c7c6ad26DE5Yik7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiR0YWJsZS4iIFNFVCAiLiR4MWEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4MWIpLiIsIi4keDJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDJiKS4iLCIuJHgzYS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHgzYikuIiwiLiR4NGEuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4NGIpLiIsIi4keDVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDViKS4iLCIuJHg2YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg2YikuIiwiLiR4N2EuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCR4N2IpLiIsIi4keDhhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDhiKS4iLCIuJHg5YS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJHg5YikuIiwiLiR4MTBhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEwYikuIiwiLiR4MTFhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDExYikuIiwiLiR4MTJhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEyYikuIiwiLiR4MTNhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDEzYikuIiwiLiR4MTRhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE0YikuIiwiLiR4MTVhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE1YikuIiwiLiR4MTZhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE2YikuIiwiLiR4MTdhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE3YikuIiwiLiR4MThhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE4YikuIiwiLiR4MTlhLiI9Ii4kdGhpcy0+cmVtb3ZlX3NwZWNpYWxfY2hhcigkeDE5YikuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7CiAgICB9CgkvLyBkZWxldGUgZGF0YQoJZnVuY3Rpb24gZGVsZXRlX2RhdGFfb25lX2tleSgkbXlzcWxpLCAkdGFibGUsICRmaWVsZCwgJGtleSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkkcXVlcnkgPSAiREVMRVRFIEZST00gIi4kdGFibGUuIiBXSEVSRSAiLiRmaWVsZC4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleSk7CgkJaWYobXlzcWxpX3F1ZXJ5KCRteXNxbGksICRxdWVyeSkgPT09IFRSVUUpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7Cgl9CglmdW5jdGlvbiBkZWxldGVfZGF0YV90d29fa2V5KCRteXNxbGksICR0YWJsZSwgJGZpZWxkLCAka2V5LCAkZmllbGQxLCAka2V5MSl7CgkJJGtleSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5KTsKCQkka2V5MSA9ICRteXNxbGktPnJlYWxfZXNjYXBlX3N0cmluZygka2V5MSk7CgkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIuJHRhYmxlLiIgV0hFUkUgIi4kZmllbGQuIj0iLiR0aGlzLT5yZW1vdmVfc3BlY2lhbF9jaGFyKCRrZXkpLiIgQU5EICIuJGZpZWxkMS4iPSIuJHRoaXMtPnJlbW92ZV9zcGVjaWFsX2NoYXIoJGtleTEpOwoJCWlmKG15c3FsaV9xdWVyeSgkbXlzcWxpLCAkcXVlcnkpID09PSBUUlVFKQoJCXJldHVybiBUUlVFOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwoJfQoJLy8gcmFuZG9tIENhcHRjaGEKCWZ1bmN0aW9uIHJhbmRvbV9zdHJpbmcoJGxlbmd0aCA9IDYpewoJCSRjaGFyYWN0ZXJzID0gJzIzNDU2Nzg5QUJDREVGR0hKS01OUFFSU1RVVldYWVonOwoJCSRjaGFyYWN0ZXJzTGVuZ3RoID0gc3RybGVuKCRjaGFyYWN0ZXJzKTsKCQkkcmFuZG9tU3RyaW5nID0gJyc7CgkJZm9yICgkaSA9IDA7ICRpIDwgJGxlbmd0aDsgJGkrKykgewoJCQkkcmFuZG9tU3RyaW5nIC49ICRjaGFyYWN0ZXJzW3JhbmQoMCwgJGNoYXJhY3RlcnNMZW5ndGggLSAxKV07CgkJfQoJCXJldHVybiAkcmFuZG9tU3RyaW5nOwoJfQoJCglmdW5jdGlvbiByYW5kb21fY2hhcigkY2hhcj1udWxsKXsKCQkkbGVuZ3RoID0gc3RybGVuKCRjaGFyKTsKCQkkU3RyaW5nID0gJyc7CgkJZm9yICgkaSA9IDA7ICRpIDwgJGxlbmd0aDsgJGkrKykgewoJCQkkU3RyaW5nIC49IHN1YnN0cigkY2hhciwkaSwxKTsKCQkJJHIgPSByYW5kKDEsNCk7CgkJCWlmKCRyID09IDEpCgkJCSRhZGRjaGFyID0gJzxzcGFuIHN0eWxlPSJjb2xvcjogI2Y5YzdhZTsgZm9udC1zaXplOiAwcHg7Ij4nLiRpLicxQicuJHIuJzYyQTwvc3Bhbj4nOwoJCQllbHNlIGlmKCRyID09IDIpCgkJCSRhZGRjaGFyID0gJzxiIHN0eWxlPSJjb2xvcjogI2YyOGM4NzsgZm9udC1zaXplOiAwcHg7Ij40RicuJHIuJzc1RycuJGkuJzwvYj4nOwoJCQllbHNlIGlmKCRyID09IDMpCgkJCSRhZGRjaGFyID0gJzxzcGFuIHN0eWxlPSJjb2xvcjogI2ZiZDliYTsgZm9udC1zaXplOiAwcHg7Ij5EJy4kci4nSksnLiRpLic5PC9zcGFuPic7CgkJCWVsc2UgJGFkZGNoYXIgPSAnPGkgc3R5bGU9ImNvbG9yOiAjZmJkOGJhOyBmb250LXNpemU6IDBweDsiPicuJHIuJ04zJy4kaS4nTEo8L2k+JzsKCQkJJFN0cmluZyAuPSAkYWRkY2hhcjsKCQl9CgkJcmV0dXJuICRTdHJpbmc7Cgl9CglmdW5jdGlvbiByYW5kb21fbGlzdG51bWJlcigkbGVuZ3RoID0gNil7CgkJJGNoYXJhY3RlcnMgPSAnMDEyMzQ1Njc4OSc7CgkJJGNoYXJhY3RlcnNMZW5ndGggPSBzdHJsZW4oJGNoYXJhY3RlcnMpOwoJCSRyYW5kb21TdHJpbmcgPSAnJzsKCQlmb3IgKCRpID0gMDsgJGkgPCAkbGVuZ3RoOyAkaSsrKSB7CgkJCSRyYW5kb21TdHJpbmcgLj0gJGNoYXJhY3RlcnNbcmFuZCgwLCAkY2hhcmFjdGVyc0xlbmd0aCAtIDEpXTsKCQl9CgkJcmV0dXJuICRyYW5kb21TdHJpbmc7Cgl9CglmdW5jdGlvbiByYW5nZV9udW0oJG1pbiwgJG1heCwgJHF1YW50aXR5KXsKCQkkbnVtYmVycyA9IHJhbmdlKCRtaW4sICRtYXgpOwoJCXNodWZmbGUoJG51bWJlcnMpOwoJCXJldHVybiBhcnJheV9zbGljZSgkbnVtYmVycywgMCwgJHF1YW50aXR5KTsKCX0KCS8vIHNlc3Npb24KCWZ1bmN0aW9uIHNlc3Npb25fc2V0KCRuYW1lLCAkdmFsdWUpewoJCSRuYW1lX3NzID0gJ3NzSURfJy5zdWJzdHIoc2hhMSgkbmFtZS5kYXRlKCJZbWQiKSksMCwxNSk7CgkJJF9TRVNTSU9OWyRuYW1lX3NzXSA9ICR2YWx1ZTsKCX0KCWZ1bmN0aW9uIHNlc3Npb25fZ2V0KCRuYW1lKXsKCQkkbmFtZV9zcyA9ICdzc0lEXycuc3Vic3RyKHNoYTEoJG5hbWUuZGF0ZSgiWW1kIikpLDAsMTUpOwoJCWlmKGlzc2V0KCRfU0VTU0lPTlskbmFtZV9zc10pKQoJCXJldHVybiAkX1NFU1NJT05bJG5hbWVfc3NdOwoJCWVsc2UgcmV0dXJuIEZBTFNFOwoJfQoJZnVuY3Rpb24gc2Vzc2lvbl9jbGVhcigkbmFtZSl7CgkJJG5hbWVfc3MgPSAnc3NJRF8nLnN1YnN0cihzaGExKCRuYW1lLmRhdGUoIlltZCIpKSwwLDE1KTsKCQl1bnNldCgkX1NFU1NJT05bJG5hbWVfc3NdKTsKCX0KCS8vIGdldCwgcG9zdAoJZnVuY3Rpb24gcG9zdF9kYXRhKCR2YWx1ZSl7CgkJaWYoaXNzZXQoJF9QT1NUWyR2YWx1ZV0pKXsKCQkJJHBvc3QgPSAkX1BPU1RbJHZhbHVlXTsKCQkJcmV0dXJuICRwb3N0OwoJCX0gZWxzZSBpZigkdmFsdWUgPT0gJ2FsbCcpewoJCQlpZihpc3NldCgkX1BPU1QpKQoJCQkJcmV0dXJuICRfUE9TVDsKCQkJZWxzZSByZXR1cm4gRkFMU0U7CgkJfSBlbHNlIHJldHVybiBGQUxTRTsKCX0KCWZ1bmN0aW9uIGdldF9kYXRhKCR2YWx1ZSl7CgkJaWYoaXNzZXQoJF9HRVRbJHZhbHVlXSkpewoJCQkkZ2V0ID0gJF9HRVRbJHZhbHVlXTsKCQkJcmV0dXJuICRnZXQ7CgkJfSBlbHNlIHJldHVybiBGQUxTRTsKCX0KCS8vIGdldCBpbmZvIGRldmljZQoJZnVuY3Rpb24gZ2V0X3VzZXJfaXAoKXsKICAgICAgICBpZighZW1wdHkoJF9TRVJWRVJbJ0hUVFBfQ0xJRU5UX0lQJ10pKXsKICAgICAgICAgICAgJGlwID0gJF9TRVJWRVJbJ0hUVFBfQ0xJRU5UX0lQJ107CiAgICAgICAgfWVsc2VpZighZW1wdHkoJF9TRVJWRVJbJ0hUVFBfWF9GT1JXQVJERURfRk9SJ10pKXsKICAgICAgICAgICAgJGlwID0gJF9TRVJWRVJbJ0hUVFBfWF9GT1JXQVJERURfRk9SJ107CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICRpcCA9ICRfU0VSVkVSWydSRU1PVEVfQUREUiddOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGlwOwogICAgfQoJZnVuY3Rpb24gZ2V0X3VzZXJfc2VjdXJpdHlfY29kZSgkY29kZSl7CgkJJHVzZXJhZ2VudCA9ICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXTsKCQlpZihwcmVnX21hdGNoKCcvKGFuZHJvaWR8YmJcZCt8bWVlZ28pLittb2JpbGV8YXZhbnRnb3xiYWRhXC98YmxhY2tiZXJyeXxibGF6ZXJ8Y29tcGFsfGVsYWluZXxmZW5uZWN8aGlwdG9wfGllbW9iaWxlfGlwKGhvbmV8b2QpfGlyaXN8a2luZGxlfGxnZSB8bWFlbW98bWlkcHxtbXB8bmV0ZnJvbnR8b3BlcmEgbShvYnxpbilpfHBhbG0oIG9zKT98cGhvbmV8cChpeGl8cmUpXC98cGx1Y2tlcnxwb2NrZXR8cHNwfHNlcmllcyg0fDYpMHxzeW1iaWFufHRyZW98dXBcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIChjZXxwaG9uZSl8eGRhfHhpaW5vL2knLCR1c2VyYWdlbnQpfHxwcmVnX21hdGNoKCcvMTIwN3w2MzEwfDY1OTB8M2dzb3w0dGhwfDUwWzEtNl1pfDc3MHN8ODAyc3xhIHdhfGFiYWN8YWMoZXJ8b298c1wtKXxhaShrb3xybil8YWwoYXZ8Y2F8Y28pfGFtb2l8YW4oZXh8bnl8eXcpfGFwdHV8YXIoY2h8Z28pfGFzKHRlfHVzKXxhdHR3fGF1KGRpfFwtbXxyIHxzICl8YXZhbnxiZShja3xsbHxucSl8YmkobGJ8cmQpfGJsKGFjfGF6KXxicihlfHYpd3xidW1ifGJ3XC0obnx1KXxjNTVcL3xjYXBpfGNjd2F8Y2RtXC18Y2VsbHxjaHRtfGNsZGN8Y21kXC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGNcLXN8ZGV2aXxkaWNhfGRtb2J8ZG8oY3xwKW98ZHMoMTJ8XC1kKXxlbCg0OXxhaSl8ZW0obDJ8dWwpfGVyKGljfGswKXxlc2w4fGV6KFs0LTddMHxvc3x3YXx6ZSl8ZmV0Y3xmbHkoXC18Xyl8ZzEgdXxnNTYwfGdlbmV8Z2ZcLTV8Z1wtbW98Z28oXC53fG9kKXxncihhZHx1bil8aGFpZXxoY2l0fGhkXC0obXxwfHQpfGhlaVwtfGhpKHB0fHRhKXxocCggaXxpcCl8aHNcLWN8aHQoYyhcLXwgfF98YXxnfHB8c3x0KXx0cCl8aHUoYXd8dGMpfGlcLSgyMHxnb3xtYSl8aTIzMHxpYWMoIHxcLXxcLyl8aWJyb3xpZGVhfGlnMDF8aWtvbXxpbTFrfGlubm98aXBhcXxpcmlzfGphKHR8dilhfGpicm98amVtdXxqaWdzfGtkZGl8a2VqaXxrZ3QoIHxcLyl8a2xvbnxrcHQgfGt3Y1wtfGt5byhjfGspfGxlKG5vfHhpKXxsZyggZ3xcLyhrfGx8dSl8NTB8NTR8XC1bYS13XSl8bGlid3xseW54fG0xXC13fG0zZ2F8bTUwXC98bWEodGV8dWl8eG8pfG1jKDAxfDIxfGNhKXxtXC1jcnxtZShyY3xyaSl8bWkobzh8b2F8dHMpfG1tZWZ8bW8oMDF8MDJ8Yml8ZGV8ZG98dChcLXwgfG98dil8enopfG10KDUwfHAxfHYgKXxtd2JwfG15d2F8bjEwWzAtMl18bjIwWzItM118bjMwKDB8Mil8bjUwKDB8Mnw1KXxuNygwKDB8MSl8MTApfG5lKChjfG0pXC18b258dGZ8d2Z8d2d8d3QpfG5vayg2fGkpfG56cGh8bzJpbXxvcCh0aXx3dil8b3Jhbnxvd2cxfHA4MDB8cGFuKGF8ZHx0KXxwZHhnfHBnKDEzfFwtKFsxLThdfGMpKXxwaGlsfHBpcmV8cGwoYXl8dWMpfHBuXC0yfHBvKGNrfHJ0fHNlKXxwcm94fHBzaW98cHRcLWd8cWFcLWF8cWMoMDd8MTJ8MjF8MzJ8NjB8XC1bMi03XXxpXC0pfHF0ZWt8cjM4MHxyNjAwfHJha3N8cmltOXxybyh2ZXx6byl8czU1XC98c2EoZ2V8bWF8bW18bXN8bnl8dmEpfHNjKDAxfGhcLXxvb3xwXC0pfHNka1wvfHNlKGMoXC18MHwxKXw0N3xtY3xuZHxyaSl8c2doXC18c2hhcnxzaWUoXC18bSl8c2tcLTB8c2woNDV8aWQpfHNtKGFsfGFyfGIzfGl0fHQ1KXxzbyhmdHxueSl8c3AoMDF8aFwtfHZcLXx2ICl8c3koMDF8bWIpfHQyKDE4fDUwKXx0NigwMHwxMHwxOCl8dGEoZ3R8bGspfHRjbFwtfHRkZ1wtfHRlbChpfG0pfHRpbVwtfHRcLW1vfHRvKHBsfHNoKXx0cyg3MHxtXC18bTN8bTUpfHR4XC05fHVwKFwuYnxnMXxzaSl8dXRzdHx2NDAwfHY3NTB8dmVyaXx2aShyZ3x0ZSl8dmsoNDB8NVswLTNdfFwtdil8dm00MHx2b2RhfHZ1bGN8dngoNTJ8NTN8NjB8NjF8NzB8ODB8ODF8ODN8ODV8OTgpfHczYyhcLXwgKXx3ZWJjfHdoaXR8d2koZyB8bmN8bncpfHdtbGJ8d29udXx4NzAwfHlhc1wtfHlvdXJ8emV0b3x6dGVcLS9pJyxzdWJzdHIoJHVzZXJhZ2VudCwwLDQpKSl7ICAgICAgCgkJCSRyZXN1bHQgPSBtZDUoJGNvZGUuJ18nLiR1c2VyYWdlbnQpOwoJCX0gZWxzZXsKCQkJJHJlc3VsdCA9IG1kNSgkY29kZS4kdGhpcy0+Z2V0X3VzZXJfaXAoKS4nXycuJHVzZXJhZ2VudCk7CgkJfQogICAgICAgIHJldHVybiAkcmVzdWx0OwogICAgfQoJCglmdW5jdGlvbiBnZXRPcygpewoJICAkdXNlcl9hZ2VudCA9ICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXTsKCSAgJG9zID0gYXJyYXkoCgkJJ1dpbmRvd3MgTlQnID0+ICdXaW5kb3dzIE5UJywKCQknTWFjJyA9PiAnTWFjaW50b3NoJywKCQknTGludXgnID0+ICdMaW51eCcsCgkJJ0FuZHJvaWQnID0+ICdBbmRyb2lkJywKCQknaU9TJyA9PiAnaVBob25lJywKCQknQmxhY2tCZXJyeScgPT4gJ0JsYWNrQmVycnknLAo";$F7AQ7y1SG4[17]="JCSdXe4da3b7fbbce2345d7772b0674a318d5aW5kb3dzIFBob25lJyA9PiAnV2luZG93cyBQaG9uZScsCgkgICk7CgkgIGZvcmVhY2ggKCRvcyBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCWlmIChzdHJwb3MoJHVzZXJfYWdlbnQsICRrZXkpICE9PSBmYWxzZSkgewoJCSAgcmV0dXJuICR2YWx1ZTsKCQl9CgkgIH0KCSAgcmV0dXJuICJVbmtub3duIjsKCX0KCQoJZnVuY3Rpb24gZ2V0QnJvd3NlcigpewoJICAkdXNlcl9hZ2VudCA9ICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXTsKCSAgJGJyb3dzZXJzID0gYXJyYXkoCgkJJ0Nocm9tZScgPT4gJ0Nocm9tZScsCgkJJ0ZpcmVmb3gnID0+ICdGaXJlZm94JywKCQknSW50ZXJuZXQgRXhwbG9yZXInID0+ICdJbnRlcm5ldCBFeHBsb3JlcicsCgkJJ1NhZmFyaScgPT4gJ1NhZmFyaScsCgkJJ09wZXJhJyA9PiAnT3BlcmEnLAoJCSdFZGdlJyA9PiAnRWRnZScsCgkJJ1lhbmRleCcgPT4gJ1lhbmRleCcsCgkJJ0JyYXZlJyA9PiAnQnJhdmUnLAoJCSdWaXZhbGRpJyA9PiAnVml2YWxkaScsCgkgICk7CgkgIGZvcmVhY2ggKCRicm93c2VycyBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCWlmIChzdHJwb3MoJHVzZXJfYWdlbnQsICRrZXkpICE9PSBmYWxzZSkgewoJCSAgcmV0dXJuICR2YWx1ZTsKCQl9CgkgIH0KCSAgcmV0dXJuICJVbmtub3duIjsKCX0KCQoJZnVuY3Rpb24gemlwX2ZpbGUoKXsKCQlyZXF1aXJlX29uY2UgJ0xpYnJhcmllcy96aXAucGhwJzsKCQkkemlwZmlsZSA9IG5ldyBaaXAoKTsKCQlyZXR1cm4gJHppcGZpbGU7Cgl9CgkKCS8vIHNlbmQgbWFpbAoJCglmdW5jdGlvbiBzZW5kX21haWwoJGZyb20sJG5hbWUsJHRvLCRzdWJqZWN0LCRjb250YWN0KXsKCQlyZXF1aXJlX29uY2UgJ0xpYnJhcmllcy9lbWFpbC5waHAnOwoJCSRlbWFpbCA9IG5ldyBFbWFpbCgpOwoJCSRjb25maWcgPSBhcnJheSgKCQkgICAgJ3Byb3RvY29sJyAgPT4gRV9QUk9UT0NPTCwKCQkJJ3NtdHBfY3J5cHRvJyA9PiBFX1NNVFBfQ1JZUFRPLAoJCSAgICAnc210cF9ob3N0JyA9PiBFX1NNVFBfSE9TVCwKCQkgICAgJ3NtdHBfcG9ydCcgPT4gRV9TTVRQX1BPUlQsCgkJICAgICdzbXRwX3VzZXInID0+IEVfU01UUF9VU0VSLAoJCSAgICAnc210cF9wYXNzJyA9PiBFX1NNVFBfUEFTUywKCQkgICAgJ21haWx0eXBlJyAgPT4gJ2h0bWwnLAoJCSAgICAnY2hhcnNldCcgICA9PiAndXRmLTgnCgkJKTsKCQkkZW1haWwtPmluaXRpYWxpemUoJGNvbmZpZyk7CgkJJGVtYWlsLT5zZXRfbWFpbHR5cGUoImh0bWwiKTsKCQkkZW1haWwtPnNldF9uZXdsaW5lKCJcclxuIik7CgkJJGVtYWlsLT5mcm9tKEVfU01UUF9VU0VSLCAkbmFtZSk7CgkJJGVtYWlsLT50bygkdG8pOwoJCSRlbWFpbC0+c3ViamVjdCgkc3ViamVjdCk7CgkJJGVtYWlsLT5tZXNzYWdlKCRjb250YWN0KTsKCQlpZigkZW1haWwtPnNlbmQoKSkKCQlyZXR1cm4gVFJVRTsKCQllbHNlIHJldHVybiBGQUxTRTsKCX0KCWZ1bmN0aW9uIHNlbmRfbWFpbF9hdHRhY2goJGZyb20sJG5hbWUsJHRvLCRzdWJqZWN0LCRjb250YWN0LCRmaWxlKXsKCQlyZXF1aXJlX29uY2UgJ0xpYnJhcmllcy9lbWFpbC5waHAnOwoJCSRlbWFpbCA9IG5ldyBFbWFpbCgpOwoJCSRjb25maWcgPSBhcnJheSgKCQkgICAgJ3Byb3RvY29sJyAgPT4gRV9QUk9UT0NPTCwKCQkJJ3NtdHBfY3J5cHRvJyA9PiBFX1NNVFBfQ1JZUFRPLAoJCSAgICAnc210cF9ob3N0JyA9PiBFX1NNVFBfSE9TVCwKCQkgICAgJ3NtdHBfcG9ydCcgPT4gRV9TTVRQX1BPUlQsCgkJICAgICdzbXRwX3VzZXInID0+IEVfU01UUF9VU0VSLAoJCSAgICAnc210cF9wYXNzJyA9PiBFX1NNVFBfUEFTUywKCQkgICAgJ21haWx0eXBlJyAgPT4gJ2h0bWwnLAoJCSAgICAnY2hhcnNldCcgICA9PiAndXRmLTgnCgkJKTsKCQkkZW1haWwtPmluaXRpYWxpemUoJGNvbmZpZyk7CgkJJGVtYWlsLT5hdHRhY2goJGZpbGUpOwoJCSRlbWFpbC0+c2V0X21haWx0eXBlKCJodG1sIik7CgkJJGVtYWlsLT5zZXRfbmV3bGluZSgiXHJcbiIpOwoJCSRlbWFpbC0+ZnJvbShFX1NNVFBfVVNFUiwgJG5hbWUpOwoJCSRlbWFpbC0+dG8oJHRvKTsKCQkkZW1haWwtPnN1YmplY3QoJHN1YmplY3QpOwoJCSRlbWFpbC0+bWVzc2FnZSgkY29udGFjdCk7CgkJaWYoJGVtYWlsLT5zZW5kKCkpCgkJcmV0dXJuIFRSVUU7CgkJZWxzZSByZXR1cm4gRkFMU0U7Cgl9CgkvLyB1cGxvYWQgZmlsZQoJZnVuY3Rpb24gdXBsb2FkX2ZpbGUoJGNvbmZpZ191cGxvYWQsICRmaWxlX3VwbG9hZCl7CgkJcmVxdWlyZV9vbmNlICdMaWJyYXJpZXMvdXBsb2FkLnBocCc7CgkJJHVwbG9hZCA9IG5ldyBVcGxvYWQoKTsKCQkkdXBsb2FkLT5pbml0aWFsaXplKCRjb25maWdfdXBsb2FkKTsKCQlpZigkdXBsb2FkLT5kb191cGxvYWQoJGZpbGVfdXBsb2FkKSl7CgkJCXJldHVybiBUUlVFOwoJCX0gZWxzZSByZXR1cm4gRkFMU0U7Cgl9CgkvLyBlZGl0b3IKCWZ1bmN0aW9uIGVkaXRvcigpewoJCSRlZGl0b3IgPSAiCgkJPHNjcmlwdD4KCQl0aW55bWNlLmluaXQoewoJCSAgbGFuZ3VhZ2UgOiAndmknLAoJCSAgYnJhbmRpbmc6IGZhbHNlLAoJCSAgc2VsZWN0b3I6ICcuc29hbl90aGFvICcsCgkJICByZWxhdGl2ZV91cmxzIDogdHJ1ZSwKCQkgIHNjaGVtYTogJ2h0bWw1JywKCQkgIGVudGl0eV9lbmNvZGluZyA6ICdyYXcnLAoJCSAgZG9jdW1lbnRfYmFzZV91cmwgOiAnIi5TSVRFX05BTUUuIicsCgkJICBwbHVnaW5zOiAncmVzcG9uc2l2ZWZpbGVtYW5hZ2VyIGNvZGUgcHJpbnQgcHJldmlldyBzZWFyY2hyZXBsYWNlIGF1dG9saW5rIGRpcmVjdGlvbmFsaXR5IHZpc3VhbGJsb2NrcyB2aXN1YWxjaGFycyBmdWxsc2NyZWVuIGltYWdlIGxpbmsgbWVkaWEgdGVtcGxhdGUgY29kZXNhbXBsZSB0YWJsZSBjaGFybWFwIGhyIHBhZ2VicmVhayBub25icmVha2luZyBhbmNob3IgaW5zZXJ0ZGF0ZXRpbWUgYWR2bGlzdCBsaXN0cyB3b3JkY291bnQgdGV4dHBhdHRlcm4gbm9uZWRpdGFibGUgaGVscCBxdWlja2JhcnMgZW1vdGljb25zJywKCQkgIG1lbnViYXI6ICdmaWxlIGVkaXQgdmlldyBpbnNlcnQgZm9ybWF0IHRvb2xzIHRhYmxlIHRjJywKCQkgIHRvb2xiYXI6ICd1bmRvIHJlZG8gfCBib2xkIGl0YWxpYyB1bmRlcmxpbmUgc3RyaWtldGhyb3VnaCB8IGZvbnRzZWxlY3QgZm9udHNpemVzZWxlY3QgZm9ybWF0c2VsZWN0IHwgYWxpZ25sZWZ0IGFsaWduY2VudGVyIGFsaWducmlnaHQgYWxpZ25qdXN0aWZ5IHwgb3V0ZGVudCBpbmRlbnQgfCAgbnVtbGlzdCBidWxsaXN0IGNoZWNrbGlzdCB8IGZvcmVjb2xvciBiYWNrY29sb3IgY2FzZWNoYW5nZSBwZXJtYW5lbnRwZW4gZm9ybWF0cGFpbnRlciByZW1vdmVmb3JtYXQgfCBwYWdlYnJlYWsgfCBjaGFybWFwIGVtb3RpY29ucyB8IGZ1bGxzY3JlZW4gIHByZXZpZXcgcHJpbnQgfCBjb2RlIHwgaW5zZXJ0ZmlsZSBpbWFnZSByZXNwb25zaXZlZmlsZW1hbmFnZXIgbWVkaWEgfCB0ZW1wbGF0ZSBsaW5rIGFuY2hvciBjb2Rlc2FtcGxlJywKCQkgIGltYWdlX2FkdnRhYjogdHJ1ZSAsCgkJICBxdWlja2JhcnNfaW5zZXJ0X3Rvb2xiYXI6ICcnLAoJCSAgcXVpY2tiYXJzX3NlbGVjdGlvbl90b29sYmFyOiAnJywKCQkgIHRlbXBsYXRlX2NkYXRlX2Zvcm1hdDogJ1tEYXRlIENyZWF0ZWQgKENEQVRFKTogJW0vJWQvJVkgOiAlSDolTTolU10nLAoJCSAgdGVtcGxhdGVfbWRhdGVfZm9ybWF0OiAnW0RhdGUgTW9kaWZpZWQgKE1EQVRFKTogJW0vJWQvJVkgOiAlSDolTTolU10nLAoJCSAgaGVpZ2h0OiA0NTAsCgkJICB0b29sYmFyX21vZGU6ICdzbGlkaW5nJywKCQkgIGV4dGVybmFsX2ZpbGVtYW5hZ2VyX3BhdGg6JyIuU0lURV9OQU1FLiJwbHVnaW5maWxldXBsb2FkLycsCgkJICBmaWxlbWFuYWdlcl90aXRsZTonVOG6rXAgVGluJyAsCgkJICBleHRlcm5hbF9wbHVnaW5zOiB7J2ZpbGVtYW5hZ2VyJyA6ICciLlNJVEVfTkFNRS4icGx1Z2luZmlsZXVwbG9hZC9wbHVnaW4ubWluLmpzJ30KCQl9KTsKCQkKCQl0aW55bWNlLmluaXQoewoJCSAgbGFuZ3VhZ2UgOiAndmknLAoJCSAgYnJhbmRpbmc6IGZhbHNlLAoJCSAgc2VsZWN0b3I6ICcuYnJvd3NlX2ltYWdlICcsCgkJICByZWxhdGl2ZV91cmxzIDogdHJ1ZSwKCQkgIGRvY3VtZW50X2Jhc2VfdXJsIDogJyIuU0lURV9OQU1FLiInLAoJCSAgcGx1Z2luczogJ3Jlc3BvbnNpdmVmaWxlbWFuYWdlcicsCgkJICBtZW51YmFyOiBmYWxzZSwKCQkgIHRvb2xiYXI6ICdyZXNwb25zaXZlZmlsZW1hbmFnZXInLAoJCSAgaW1hZ2VfYWR2dGFiOiB0cnVlICwKCQkgIHF1aWNrYmFyc19pbnNlcnRfdG9vbGJhcjogJycsCgkJICBxdWlja2JhcnNfc2VsZWN0aW9uX3Rvb2xiYXI6ICcnLAoJCSAgdGVtcGxhdGVfY2RhdGVfZm9ybWF0OiAnW0RhdGUgQ3JlYXRlZCAoQ0RBVEUpOiAlbS8lZC8lWSA6ICVIOiVNOiVTXScsCgkJICB0ZW1wbGF0ZV9tZGF0ZV9mb3JtYXQ6ICdbRGF0ZSBNb2RpZmllZCAoTURBVEUpOiAlbS8lZC8lWSA6ICVIOiVNOiVTXScsCgkJICBoZWlnaHQ6IDM4MCwKCQkgIHRvb2xiYXJfbW9kZTogJ3NsaWRpbmcnLAoJCSAgZXh0ZXJuYWxfZmlsZW1hbmFnZXJfcGF0aDonIi5TSVRFX05BTUUuInBsdWdpbmZpbGV1cGxvYWQvJywKCQkgIGZpbGVtYW5hZ2VyX3RpdGxlOidU4bqtcCBUaW4nICwKCQkgIGV4dGVybmFsX3BsdWdpbnM6IHsnZmlsZW1hbmFnZXInIDogJyIuU0lURV9OQU1FLiJwbHVnaW5maWxldXBsb2FkL3BsdWdpbi5taW4uanMnfQoJCX0pOwoJCTwvc2NyaXB0PiI7CgkJcmV0dXJuICRlZGl0b3I7CiAgICB9CglmdW5jdGlvbiBlZGl0b3IyKCl7CgkJJGVkaXRvciA9ICIKCQk8c2NyaXB0PgoJCU1hdGhKYXguSHViLlF1ZXVlKFsnVHlwZXNldCcsIE1hdGhKYXguSHViXSk7CgkJZnVuY3Rpb24gTWluSGVpZ2h0UGx1Z2luKGVkaXRvcikgewoJCSAgdGhpcy5lZGl0b3IgPSBlZGl0b3I7CgkJfQoKCQlNaW5IZWlnaHRQbHVnaW4ucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbigpIHsKCQkgIHRoaXMuZWRpdG9yLnVpLnZpZXcuZWRpdGFibGUuZXh0ZW5kVGVtcGxhdGUoewoJCQlhdHRyaWJ1dGVzOiB7CgkJCSAgc3R5bGU6IHsKCQkJCW1pbkhlaWdodDogJzMwMHB4JwoJCQkgIH0KCQkJfQoJCSAgfSk7CgkJfTsKCSAgCgkJQ2xhc3NpY0VkaXRvci5idWlsdGluUGx1Z2lucy5wdXNoKE1pbkhlaWdodFBsdWdpbik7CgkJZm9yKHZhciBpPTA7IGk8MTA7IGkrKyl7CgkJCWNvbnN0IGRpdkNoZWNrID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNvYW5fdGhhb18nK2kpOwoJCQlpZihkaXZDaGVjayl7CgkJCQlDbGFzc2ljRWRpdG9yLmNyZWF0ZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc29hbl90aGFvXycraSksIHsKCQkJCSAgcGxhY2Vob2xkZXI6ICcnLAoJCQkJICBtYXRoOiB7CgkJCQkJZW5naW5lOiAnbWF0aGpheCcsCgkJCQkJb3V0cHV0VHlwZTogJ3NjcmlwdCcsCgkJCQkJZm9yY2VPdXRwdXRUeXBlOiBmYWxzZSwKCQkJCQllbmFibGVQcmV2aWV3OiB0cnVlCgkJCQkgIH0sCgkJCQkJY2tmaW5kZXI6IHsKCQkJCQkJdXBsb2FkVXJsOiAnY2tmaW5kZXIvY29yZS9jb25uZWN0b3IvcGhwL2Nvbm5lY3Rvci5waHA/Y29tbWFuZD1RdWlja1VwbG9hZCZ0eXBlPUZpbGVzJnJlc3BvbnNlVHlwZT1qc29uJywKCQkJCQl9LAoJCQkJCXRvb2xiYXI6IHsKCQkJCQkJc2hvdWxkTm90R3JvdXBXaGVuRnVsbDogdHJ1ZQoJCQkJCX0KCQkJCX0pLnRoZW4oZWRpdG9yID0+IHsKCQkJCSAgCgkJCQl9KQoJCQkJLmNhdGNoKGVyciA9PiB7CgkJCQkgIGNvbnNvbGUuZXJyb3IoZXJyKTsKCQkJCX0pOwoJCQl9CgkJfQoJCTwvc2NyaXB0PiI7CgkJcmV0dXJuICRlZGl0b3I7CiAgICB9CgkKCWZ1bmN0aW9uIHNsdWdfc3RyKCRzdHIpewogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOlfMOkfMOgfMOhfOG6oXzhuqN8w6N8w6J84bqnfOG6pXzhuq184bqpfOG6q3zEg3zhurF84bqvfOG6t3zhurN84bq1KS8iLCAnYScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOofMOpfOG6uXzhurt84bq9fMOqfOG7gXzhur984buHfOG7g3zhu4UpLyIsICdlJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8ow6x8w6184buLfOG7iXzEqSkvIiwgJ2knLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDtnzDsnzDs3zhu4184buPfMO1fMO0fOG7k3zhu5F84buZfOG7lXzhu5d8xqF84budfOG7m3zhu6N84buffOG7oSkvIiwgJ28nLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDvHzDuXzDunzhu6V84bunfMWpfMawfOG7q3zhu6l84buxfOG7rXzhu68pLyIsICd1JywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8o4buzfMO9fOG7tXzhu7d84bu5KS8iLCAneScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSRKS8iLCAnZCcsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSNfMOnKS8iLCAnYycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMWhLMWfKS8iLCAncycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSfKS8iLCAnZycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMW+KS8iLCAneicsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOEfMOFfMOAfMOBfOG6oHzhuqJ8w4N8w4J84bqmfOG6pHzhuqx84bqofOG6qnzEgn";$F7AQ7y1SG4[18]="zhura87ff679a2f3e71d9181a67b7542122cB84bqufOG6tnzhurJ84bq0KS8iLCAnQScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOIfMOJfOG6uHzhurp84bq8fMOKfOG7gHzhur584buGfOG7gnzhu4QpLyIsICdFJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8ow4x8w4184buKfOG7iHzEqCkvIiwgJ0knLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDlnzDknzDk3zhu4x84buOfMOVfMOUfOG7knzhu5B84buYfOG7lHzhu5Z8xqB84bucfOG7mnzhu6J84buefOG7oCkvIiwgJ08nLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDmXzDmnzhu6R84bumfMWofMavfOG7qnzhu6h84buwfOG7rHzhu64pLyIsICdVJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8o4buyfMOdfOG7tHzhu7Z84bu4KS8iLCAnWScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSMfMOHKS8iLCAnQycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSQKS8iLCAnRCcsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMWgKS8iLCAnUycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMW9KS8iLCAnWicsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gc3RyX3JlcGxhY2UoIiAiLCAiLSIsIHN0cl9yZXBsYWNlKCImKiMzOTsiLCIiLCRzdHIpKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgnL1teQS1aYS16MC05XC0uX10vJywgJycsICRzdHIpOyAKCQkJJHN0ciA9IHN0cl9yZXBsYWNlKCIuIiwiIiwkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgnLy0rLycsICctJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBzdHJ0b2xvd2VyKCRzdHIpOwogICAgICAgICAgICByZXR1cm4gJHN0cjsKICAgIH0gIAogICAgCiAgICBmdW5jdGlvbiBzbHVnX3N0cl91c2VyKCRzdHIpewogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOlfMOkfMOgfMOhfOG6oXzhuqN8w6N8w6J84bqnfOG6pXzhuq184bqpfOG6q3zEg3zhurF84bqvfOG6t3zhurN84bq1KS8iLCAnYScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOofMOpfOG6uXzhurt84bq9fMOqfOG7gXzhur984buHfOG7g3zhu4UpLyIsICdlJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8ow6x8w6184buLfOG7iXzEqSkvIiwgJ2knLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDtnzDsnzDs3zhu4184buPfMO1fMO0fOG7k3zhu5F84buZfOG7lXzhu5d8xqF84budfOG7m3zhu6N84buffOG7oSkvIiwgJ28nLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDvHzDuXzDunzhu6V84bunfMWpfMawfOG7q3zhu6l84buxfOG7rXzhu68pLyIsICd1JywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8o4buzfMO9fOG7tXzhu7d84bu5KS8iLCAneScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSRKS8iLCAnZCcsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSNfMOnKS8iLCAnYycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMWhLMWfKS8iLCAncycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSfKS8iLCAnZycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMW+KS8iLCAneicsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOEfMOFfMOAfMOBfOG6oHzhuqJ8w4N8w4J84bqmfOG6pHzhuqx84bqofOG6qnzEgnzhurB84bqufOG6tnzhurJ84bq0KS8iLCAnQScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMOIfMOJfOG6uHzhurp84bq8fMOKfOG7gHzhur584buGfOG7gnzhu4QpLyIsICdFJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8ow4x8w4184buKfOG7iHzEqCkvIiwgJ0knLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDlnzDknzDk3zhu4x84buOfMOVfMOUfOG7knzhu5B84buYfOG7lHzhu5Z8xqB84bucfOG7mnzhu6J84buefOG7oCkvIiwgJ08nLCAkc3RyKTsKICAgICAgICAgICAgJHN0ciA9IHByZWdfcmVwbGFjZSgiLyjDmXzDmnzhu6R84bumfMWofMavfOG7qnzhu6h84buwfOG7rHzhu64pLyIsICdVJywgJHN0cik7CiAgICAgICAgICAgICRzdHIgPSBwcmVnX3JlcGxhY2UoIi8o4buyfMOdfOG7tHzhu7Z84bu4KS8iLCAnWScsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSMfMOHKS8iLCAnQycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMSQKS8iLCAnRCcsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMWgKS8iLCAnUycsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCIvKMW9KS8iLCAnWicsICRzdHIpOwogICAgICAgICAgICAkc3RyID0gc3RyX3JlcGxhY2UoIiAiLCAiIiwgc3RyX3JlcGxhY2UoIiYqIzM5OyIsIiIsJHN0cikpOwogICAgICAgICAgICByZXR1cm4gJHN0cjsKICAgIH0KCQkKCWZ1bmN0aW9uIGdldF9saW5rX2ltYWdlKCRzdHJpbmcpewogICAgICAgICAgICAkcmVnZXggPSAiIzxpbWcuKz8+I3MiOwoJCQlpZiAocHJlZ19tYXRjaF9hbGwoJHJlZ2V4LCAkc3RyaW5nLCAkbWF0Y2hlcywgUFJFR19QQVRURVJOX09SREVSKSA+IDApewoJCQkJJGltZyA9IGFycmF5KCk7CgkJCQkkaW1nWyd0YWcnXSA9ICRtYXRjaGVzWzBdWzBdOwoJCQkJaWYocHJlZ19tYXRjaCgiI3NyYz1cIi4rP1wiI3MiLCRpbWdbJ3RhZyddLCRpbWdTcmMpKXsKCQkJCQkkaW1nWydzcmMnXSA9IHN0cl9yZXBsYWNlKCdzcmM9IicsJycsJGltZ1NyY1swXSk7CgkJCQkJJGltZ1snc3JjJ10gPSBzdHJfcmVwbGFjZSgnIicsJycsJGltZ1snc3JjJ10pOwoJCQkJCQoJCQkJfSBlbHNlIGlmKHByZWdfbWF0Y2goIiNzcmM9XCcuKz9cJyNzIiwkaW1nWyd0YWcnXSwkaW1nU3JjKSl7CgkJCQkJJGltZ1snc3JjJ10gPSBzdHJfcmVwbGFjZSgic3JjPSciLCcnLCRpbWdTcmNbMF0pOwoJCQkJCSRpbWdbJ3NyYyddID0gc3RyX3JlcGxhY2UoIiciLCcnLCRpbWdbJ3NyYyddKTsKCQkJCX0gZWxzZSB7CgkJCQkJJGltZ1snc3JjJ10gPSBmYWxzZTsKCQkJCX0KCQkJfSBlbHNlewoJCQkJICRpbWdbJ3NyYyddID0gZmFsc2U7OwoJCSAgICB9CgkJCQogICAgICAgICAgICByZXR1cm4gJGltZ1snc3JjJ107CiAgICB9CgoJZnVuY3Rpb24gZ2V0X2xpbmtfZmlsZSgkc3RyaW5nKXsKICAgICAgICAgICAgJHJlZ2V4ID0gIiM8YSB0aXRsZS4rPz4jcyI7CgkJCWlmIChwcmVnX21hdGNoX2FsbCgkcmVnZXgsICRzdHJpbmcsICRtYXRjaGVzLCBQUkVHX1BBVFRFUk5fT1JERVIpID4gMCl7CgkJCQkkaW1nID0gYXJyYXkoKTsKCQkJCSRpbWdbJ3RhZyddID0gJG1hdGNoZXNbMF1bMF07CgkJCQlpZihwcmVnX21hdGNoKCIjaHJlZj1cIi4rP1wiI3MiLCRpbWdbJ3RhZyddLCRpbWdTcmMpKXsKCQkJCQkkaW1nWydzcmMnXSA9IHN0cl9yZXBsYWNlKCdocmVmPSInLCcnLCRpbWdTcmNbMF0pOwoJCQkJCSRpbWdbJ3NyYyddID0gc3RyX3JlcGxhY2UoJyInLCcnLCRpbWdbJ3NyYyddKTsKCQkJCQkKCQkJCX0gZWxzZSBpZihwcmVnX21hdGNoKCIjaHJlZj1cJy4rP1wnI3MiLCRpbWdbJ3RhZyddLCRpbWdTcmMpKXsKCQkJCQkkaW1nWydzcmMnXSA9IHN0cl9yZXBsYWNlKCJocmVmPSciLCcnLCRpbWdTcmNbMF0pOwoJCQkJCSRpbWdbJ3NyYyddID0gc3RyX3JlcGxhY2UoIiciLCcnLCRpbWdbJ3NyYyddKTsKCQkJCX0gZWxzZSB7CgkJCQkJJGltZ1snc3JjJ10gPSBmYWxzZTsKCQkJCX0KCQkJfSBlbHNlewoJCQkJICRpbWdbJ3NyYyddID0gZmFsc2U7OwoJCSAgICB9CgkJCQogICAgICAgICAgICByZXR1cm4gJGltZ1snc3JjJ107CiAgICB9CgkKCWZ1bmN0aW9uIGRpcmVjdG9yeV9tYXAoJHNvdXJjZV9kaXIsICRkaXJlY3RvcnlfZGVwdGggPSAwLCAkaGlkZGVuID0gRkFMU0UpewoJCWlmKCRmcCA9IEBvcGVuZGlyKCRzb3VyY2VfZGlyKSl7CgkJCSRmaWxlZGF0YQk9IGFycmF5KCk7CgkJCSRuZXdfZGVwdGgJPSAkZGlyZWN0b3J5X2RlcHRoIC0gMTsKCQkJJHNvdXJjZV9kaXIJPSBydHJpbSgkc291cmNlX2RpciwgRElSRUNUT1JZX1NFUEFSQVRPUikuRElSRUNUT1JZX1NFUEFSQVRPUjsKCgkJCXdoaWxlIChGQUxTRSAhPT0gKCRmaWxlID0gcmVhZGRpcigkZnApKSkKCQkJewoJCQkJLy8gUmVtb3ZlICcuJywgJy4uJywgYW5kIGhpZGRlbiBmaWxlcyBbb3B0aW9uYWxdCgkJCQlpZiAoJGZpbGUgPT09ICcuJyBPUiAkZmlsZSA9PT0gJy4uJyBPUiAoJGhpZGRlbiA9PT0gRkFMU0UgJiYgJGZpbGVbMF0gPT09ICcuJykpCgkJCQl7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJaXNfZGlyKCRzb3VyY2VfZGlyLiRmaWxlKSAmJiAkZmlsZSAuPSBESVJFQ1RPUllfU0VQQVJBVE9SOwoKCQkJCWlmICgoJGRpcmVjdG9yeV9kZXB0aCA8IDEgT1IgJG5ld19kZXB0aCA+IDApICYmIGlzX2Rpcigkc291cmNlX2Rpci4kZmlsZSkpCgkJCQl7CgkJCQkJJGZpbGVkYXRhWyRmaWxlXSA9IGRpcmVjdG9yeV9tYXAoJHNvdXJjZV9kaXIuJGZpbGUsICRuZXdfZGVwdGgsICRoaWRkZW4pOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCSRmaWxlZGF0YVtdID0gJGZpbGU7CgkJCQl9CgkJCX0KCgkJCWNsb3NlZGlyKCRmcCk7CgkJCXJldHVybiAkZmlsZWRhdGE7CgkJfQoKCQlyZXR1cm4gRkFMU0U7Cgl9CgkKCWZ1bmN0aW9uIGdldFlvdVR1YmVJZCgkdXJsKSB7CgkJJGxpbmtfeSA9IHN0cnN0cigkdXJsLCc/dj0nKTsKCQkkY29kZSA9IHN1YnN0cigkbGlua195LDMsMTEpOwoJCXJldHVybiAkY29kZTsKCX0KCWZ1bmN0aW9uIGNvbnZlcnRfbnVtYmVyX3RvX3dvcmRzKCRudW1iZXIpewoJCWlmKHN0cnBvcygkbnVtYmVyLCAnLicpKXsKCQkJbGlzdCgkaW50ZWdlciwgJGZyYWN0aW9uKSA9IGV4cGxvZGUoIi4iLCAoc3RyaW5nKSAkbnVtYmVyKTsKCQl9IGVsc2V7CgkJJGludGVnZXIgPSAkbnVtYmVyOwoJCSRmcmFjdGlvbiA9IE5VTEw7CgkJfQoJIAoJCSRvdXRwdXQgPSAiIjsKCSAKCQlpZiAoJGludGVnZXJbMF0gPT0gIi0iKXsKCQkkb3V0cHV0ID0gIsOibSAiOwoJCSRpbnRlZ2VyID0gbHRyaW0oJGludGVnZXIsICItIik7CgkJfSBlbHNlIGlmICgkaW50ZWdlclswXSA9PSAiKyIpewoJCSRvdXRwdXQgPSAiZMawxqFuZyAiOwoJCSRpbnRlZ2VyID0gbHRyaW0oJGludGVnZXIsICIrIik7CgkJfQoJIAoJCWlmICgkaW50ZWdlclswXSA9PSAiMCIpewoJCSRvdXRwdXQgLj0gImtow7RuZyI7CgkJfSBlbHNlewoJCSRpbnRlZ2VyID0gc3RyX3BhZCgkaW50ZWdlciwgMzYsICIwIiwgU1RSX1BBRF9MRUZUKTsKCQkkZ3JvdXAgPSBydHJpbShjaHVua19zcGxpdCgkaW50ZWdlciwgMywgIiAiKSwgIiAiKTsKCQkkZ3JvdXBzID0gZXhwbG9kZSgiICIsICRncm91cCk7CgkJIAoJCSRncm91cHMyID0gYXJyYXkoKTsKCQlmb3JlYWNoICgkZ3JvdXBzIGFzICRnKXsKCQkkZ3JvdXBzMltdID0gJHRoaXMtPmNvbnZlcnRUaHJlZURpZ2l0KCRnWzBdLCAkZ1sxXSwgJGdbMl0pOwoJCX0KCQkgCgkJZm9yICgkeiA9IDA7ICR6IDwgY291bnQoJGdyb3VwczIpOyAkeisrKXsKCQkJaWYgKCRncm91cHMyWyR6XSAhPSAiIil7CiAgICAgICAgICAgICAgICAkb3V0cHV0IC49ICRncm91cHMyWyR6XSAuICR0aGlzLT5jb252ZXJ0R3JvdXAoMTEgLSAkeikgLiAoCiAgICAgICAgICAgICAgICAgICAgICAgICR6IDwgMTEKICAgICAgICAgICAgICAgICAgICAgICAgJiYgIWFycmF5X3NlYXJjaCgnJywgYXJyYXlfc2xpY2UoJGdyb3VwczIsICR6ICsgMSwgLTEpKQogICAgICAgICAgICAgICAgICAgICAgICAmJiAkZ3JvdXBzMlsxMV0gIT0gJycKICAgICAgICAgICAgICAgICAgICAgICAgJiYgJGdyb3Vwc1sxMV1bMF0gPT0gJzAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICIgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiICIKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgkJfQoJCSRvdXRwdXQgPSBydHJpbSgkb3V0cHV0LCAiLCAiKTsKCQl9CgkgCgkJaWYgKCRmcmFjdGlvbiA8IDApewoJCQkkb3V0cHV0IC49ICIgcGjhuql5IjsKCQkJZm9yICgkaSA9IDA7ICRpIDwgc3RybGVuKCRmcmFjdGlvbik7ICRpKyspewoJCQkkb3V0cHV0IC49ICIgIiAuICR0aGlzLT5jb252ZXJ0RGlnaXQoJGZyYWN0aW9uWyRpXSk7CgkJCX0KCQl9IAoJCXJldHVybiAkb3V0cHV0OwoJfQoJIAoJZnVuY3Rpb24gY29udmVydEdyb3VwKCRpbmRleCl7CgkJc3dpdGNoICgkaW5kZXgpewoJCWNhc2UgMTE6CgkJcmV0dXJuICIgZGVjaWxsaW9uIjsKCQljYXNlIDEwOgoJCXJldHVybiAiIG5vbmlsbGlvbiI7CgkJY2FzZSA5OgoJCXJldHVybiAiIG9jdGlsbGlvbiI7CgkJY2FzZSA4OgoJCXJldHVybiAiIHNlcHRpbGxpb24iOwoJCWNhc2UgNzoKCQlyZXR1cm4gIiBzZXh0aWxsaW9uIjsKCQljYXNlIDY6CgkJcmV0dXJuICIgcXVpbnRyaWxsaW9uIjsKCQljYXNlI";$F7AQ7y1SG4[19]="DU6CgkJcmV0dXJuICIgbmdow6xuIHRyaeG7h3UgdHJp4buHdSI7CgkJY2FzZSA0OgoJCXJldHVybiAiIG5naMOsbiB04bu3IjsKCQljYXNlIDM6CgkJcmV0dXJuICIgdOG7tyI7CgkJY2FzZSAyOgoJCXJldHVybiAiIHRyaeG7h3UiOwoJCWNhc2UgMToKCQlyZXR1cm4gIiBuZ2jDrG4iOwoJCWNhc2UgMDoKCQlyZXR1cm4gIiI7CgkJfQoJfQoJIAoJZnVuY3Rpb24gY29udmVydFRocmVlRGlnaXQoJGRpZ2l0MSwgJGRpZ2l0MiwgJGRpZ2l0Myl7CgkJJGJ1ZmZlciA9ICIiOyAKCQlpZiAoJGRpZ2l0MSA9PSAiMCIgJiYgJGRpZ2l0MiA9PSAiMCIgJiYgJGRpZ2l0MyA9PSAiMCIpewoJCXJldHVybiAiIjsKCQl9CgkJIAoJCWlmICgkZGlnaXQxICE9ICIwIil7CgkJCSRidWZmZXIgLj0gJHRoaXMtPmNvbnZlcnREaWdpdCgkZGlnaXQxKSAuICIgdHLEg20iOwoJCQlpZiAoJGRpZ2l0MiAhPSAiMCIgfHwgJGRpZ2l0MyAhPSAiMCIpewoJCQkkYnVmZmVyIC49ICIgIjsKCQkJfQoJCX0KCQlpZiAoJGRpZ2l0MiA9PSAiMCIgJiYgJGJ1ZmZlciAhPSAnJyl7CgkJJGJ1ZmZlciAuPSAkdGhpcy0+Y29udmVydFR3b0RpZ2l0KCRkaWdpdDIsICRkaWdpdDMpOwoJCX0gZWxzZSBpZiAoJGRpZ2l0MiAhPSAiMCIpewoJCSRidWZmZXIgLj0gJHRoaXMtPmNvbnZlcnRUd29EaWdpdCgkZGlnaXQyLCAkZGlnaXQzKTsKCQl9IGVsc2UgaWYgKCRkaWdpdDMgIT0gIjAiKXsKCQkkYnVmZmVyIC49ICR0aGlzLT5jb252ZXJ0RGlnaXQoJGRpZ2l0Myk7CgkJfQoJCSAKCQlyZXR1cm4gJGJ1ZmZlcjsKCX0KCSAKCWZ1bmN0aW9uIGNvbnZlcnRUd29EaWdpdCgkZGlnaXQxLCAkZGlnaXQyKXsKCQlpZiAoJGRpZ2l0MiA9PSAiMCIpewoJCQlzd2l0Y2ggKCRkaWdpdDEpewoJCQljYXNlICIxIjoKCQkJcmV0dXJuICJtxrDhu51pIjsKCQkJY2FzZSAiMiI6CgkJCXJldHVybiAiaGFpIG3GsMahaSI7CgkJCWNhc2UgIjMiOgoJCQlyZXR1cm4gImJhIG3GsMahaSI7CgkJCWNhc2UgIjQiOgoJCQlyZXR1cm4gImLhu5FuIG3GsMahaSI7CgkJCWNhc2UgIjUiOgoJCQlyZXR1cm4gIm7Eg20gbcawxqFpIjsKCQkJY2FzZSAiNiI6CgkJCXJldHVybiAic8OhdSBtxrDGoWkiOwoJCQljYXNlICI3IjoKCQkJcmV0dXJuICJi4bqjeSBtxrDGoWkiOwoJCQljYXNlICI4IjoKCQkJcmV0dXJuICJ0w6FtIG3GsMahaSI7CgkJCWNhc2UgIjkiOgoJCQlyZXR1cm4gImNow61uIG3GsMahaSI7CgkJCX0KCQl9IGVsc2UgaWYgKCRkaWdpdDEgPT0gIjAiKXsKCQkJc3dpdGNoICgkZGlnaXQyKXsKCQkJY2FzZSAiMSI6CgkJCXJldHVybiAibOG6uyBt4buZdCI7CgkJCWNhc2UgIjIiOgoJCQlyZXR1cm4gImzhursgaGFpIjsKCQkJY2FzZSAiMyI6CgkJCXJldHVybiAibOG6uyBiYSI7CgkJCWNhc2UgIjQiOgoJCQlyZXR1cm4gImzhursgYuG7kW4iOwoJCQljYXNlICI1IjoKCQkJcmV0dXJuICJs4bq7IG7Eg20iOwoJCQljYXNlICI2IjoKCQkJcmV0dXJuICJs4bq7IHPDoXUiOwoJCQljYXNlICI3IjoKCQkJcmV0dXJuICJs4bq7IGLhuqN5IjsKCQkJY2FzZSAiOCI6CgkJCXJldHVybiAibOG6uyB0w6FtIjsKCQkJY2FzZSAiOSI6CgkJCXJldHVybiAibOG6uyBjaMOtbiI7CgkJCX0KCQl9IGVsc2UgaWYgKCRkaWdpdDEgPT0gIjEiKXsKCQkJc3dpdGNoICgkZGlnaXQyKXsKCQkJY2FzZSAiMSI6CgkJCXJldHVybiAibcaw4budaSBt4buZdCI7CgkJCWNhc2UgIjIiOgoJCQlyZXR1cm4gIm3GsOG7nWkgaGFpIjsKCQkJY2FzZSAiMyI6CgkJCXJldHVybiAibcaw4budaSBiYSI7CgkJCWNhc2UgIjQiOgoJCQlyZXR1cm4gIm3GsOG7nWkgYuG7kW4iOwoJCQljYXNlICI1IjoKCQkJcmV0dXJuICJtxrDhu51pIGzEg20iOwoJCQljYXNlICI2IjoKCQkJcmV0dXJuICJtxrDhu51pIHPDoXUiOwoJCQljYXNlICI3IjoKCQkJcmV0dXJuICJtxrDhu51pIGLhuqN5IjsKCQkJY2FzZSAiOCI6CgkJCXJldHVybiAibcaw4budaSB0w6FtIjsKCQkJY2FzZSAiOSI6CgkJCXJldHVybiAibcaw4budaSBjaMOtbiI7CgkJCX0KCQl9IGVsc2V7CgkJCSR0ZW1wID0gJHRoaXMtPmNvbnZlcnREaWdpdCgkZGlnaXQyKTsKCQkJaWYoJHRlbXA9PSduxINtJykgJHRlbXAgPSAnbMSDbSc7CgkJCWlmKCR0ZW1wPT0nbeG7mXQnKSAkdGVtcCA9ICdt4buRdCc7CgkJCXN3aXRjaCAoJGRpZ2l0MSl7CgkJCWNhc2UgIjAiOgoJCQlyZXR1cm4gImzhursgJHRlbXAiOwoJCQljYXNlICIyIjoKCQkJcmV0dXJuICJoYWkgbcawxqFpICR0ZW1wIjsKCQkJY2FzZSAiMyI6CgkJCXJldHVybiAiYmEgbcawxqFpICR0ZW1wIjsKCQkJY2FzZSAiNCI6CgkJCXJldHVybiAiYuG7kW4gbcawxqFpICR0ZW1wIjsKCQkJY2FzZSAiNSI6CgkJCXJldHVybiAibsSDbSBtxrDGoWkgJHRlbXAiOwoJCQljYXNlICI2IjoKCQkJcmV0dXJuICJzw6F1IG3GsMahaSAkdGVtcCI7CgkJCWNhc2UgIjciOgoJCQlyZXR1cm4gImLhuqN5IG3GsMahaSAkdGVtcCI7CgkJCWNhc2UgIjgiOgoJCQlyZXR1cm4gInTDoW0gbcawxqFpICR0ZW1wIjsKCQkJY2FzZSAiOSI6CgkJCXJldHVybiAiY2jDrW4gbcawxqFpICR0ZW1wIjsKCQkJfQoJCX0KCX0KCSAKCWZ1bmN0aW9uIGNvbnZlcnREaWdpdCgkZGlnaXQpewoJCXN3aXRjaCAoJGRpZ2l0KXsKCQljYXNlICIwIjoKCQlyZXR1cm4gImtow7RuZyI7CgkJY2FzZSAiMSI6CgkJcmV0dXJuICJt4buZdCI7CgkJY2FzZSAiMiI6CgkJcmV0dXJuICJoYWkiOwoJCWNhc2UgIjMiOgoJCXJldHVybiAiYmEiOwoJCWNhc2UgIjQiOgoJCXJldHVybiAiYuG7kW4iOwoJCWNhc2UgIjUiOgoJCXJldHVybiAibsSDbSI7CgkJY2FzZSAiNiI6CgkJcmV0dXJuICJzw6F1IjsKCQljYXNlICI3IjoKCQlyZXR1cm4gImLhuqN5IjsKCQljYXNlICI4IjoKCQlyZXR1cm4gInTDoW0iOwoJCWNhc2UgIjkiOgoJCXJldHVybiAiY2jDrW4iOwoJCX0KCX0KCWZ1bmN0aW9uIG5vdGlmeSgkZGF0YSwkdG9waWMpewogICAgICAgICRhcGlfa2V5PSJBQUFBdnY1YkFSTTpBUEE5MWJGY195TUtKMS1NV1RoRjBETTA0RWRJV3pIUTdULS1GQVdFOXQwNU43Umtjdnh0VlVHM0ZlcXFnb1lqaENrU1ktVW40bmpaaldPQVJ0bFhuYkVsVTV4NDZJYkw0VWh6TWl4YXFzelMtcktqV2hQNFpvcnNpd3QyWDYtMHdydjA0bE96NENnTCI7CiAgICAgICAgJHVybD0iaHR0cHM6Ly9mY20uZ29vZ2xlYXBpcy5jb20vZmNtL3NlbmQiOwogICAgICAgICRmaWVsZHM9anNvbl9lbmNvZGUoYXJyYXkoJ3RvJz0+Jy90b3BpY3MvJy4kdG9waWMsJ25vdGlmaWNhdGlvbic9PiRkYXRhKSk7CiAgICAgICAgJGNoID0gY3VybF9pbml0KCk7CiAgICAKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkdXJsKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOwogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCAxKTsKICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgKCRmaWVsZHMpKTsKICAgIAogICAgICAgICRoZWFkZXJzID0gYXJyYXkoKTsKICAgICAgICAkaGVhZGVyc1tdID0gJ0F1dGhvcml6YXRpb246IGtleSA9Jy4kYXBpX2tleTsKICAgICAgICAkaGVhZGVyc1tdID0gJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbic7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hUVFBIRUFERVIsICRoZWFkZXJzKTsKICAgIAogICAgICAgICRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNoKTsKICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CiAgICB9CglmdW5jdGlvbiBtYV9ob2EoJHN0ciwkZ3VpLCRuaGFuKXsgICAKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3kxdycsICd3MDFlJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd1MmUnLCAnZTAyeScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnaTN5JywgJ3kwM3UnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ280dScsICd1MDRpJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdhNWknLCAnaTA1bycsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnZjZvJywgJ28wNmEnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2o3YScsICdhMDdmJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd6OGYnLCAnZjA4aicsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneDlqJywgJ2owOXonLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3cweicsICd6MDF4JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdlMXgnLCAneDAydycsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneTJ3JywgJ3cwM2UnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3UzZScsICdlMDR5JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdlNHknLCAneTA1eScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnejV1JywgJ3kwNncnLCAkc3RyKTsKCQkKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3EnLCAnZScuJGd1aS4neTF3JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdyJywgJ3knLiRuaGFuLid1MmUnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3QnLCAndScuJGd1aS4naTN5JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdwJywgJ2knLiRndWkuJ280dScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgncycsICdvJy4kZ3VpLidhNWknLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2QnLCAnYScuJG5oYW4uJ2Y2bycsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnZycsICdmJy4kbmhhbi4najdhJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdoJywgJ2onLiRndWkuJ3o4ZicsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnaycsICd6Jy4kbmhhbi4neDlqJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdsJywgJ3gnLiRuaGFuLid3MHonLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2MnLCAndycuJGd1aS4nZTF4JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd2JywgJ2UnLiRndWkuJ3kydycsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnYicsICd5Jy4kZ3VpLid1M2UnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ24nLCAndScuJG5oYW4uJ2U0eScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnbScsICd3Jy4kZ3VpLid6NXUnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJyAnLCAnd19pJywgJHN0cik7CgkJcmV0dXJuICRzdHI7Cgl9CglmdW5jdGlvbiBnaWFpX21hKCRzdHIsJGd1aSwkbmhhbil7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd3X2knLCAnICcsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgndycuJGd1aS4nejV1JywgJ20nLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3UnLiRuaGFuLidlNHknLCAnbicsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneScuJGd1aS4ndTNlJywgJ2InLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2UnLiRndWkuJ3kydycsICd2JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd3Jy4kZ3VpLidlMXgnLCAnYycsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneCcuJG5oYW4uJ3cweicsICdsJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd6Jy4kbmhhbi4neDlqJywgJ2snLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2onLiRndWkuJ3o4ZicsICdoJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdmJy4kbmhhbi4najdhJywgJ2cnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2EnLiRuaGFuLidmNm8nLCAnZCcsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnbycuJGd1aS4nYTVpJywgJ3MnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2knLiRndWkuJ280dScsICdwJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd1Jy4kZ3VpLidpM3knLCAndCcsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneScuJG5oYW4uJ3UyZScsICdyJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdlJy4kZ3VpLid5MXcnLCAncScsICRzdHIpOwoJCQoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneTA2dycsICd6NXUnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3kwNXknLCAnZTR5JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdlMDR5JywgJ3UzZScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgndzAzZScsICd5MncnLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ3gwMncnLCAnZTF4JywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd6MDF4JywgJ3cweicsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnajA5eicsICd4OWonLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2YwOGonLCAnejhmJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCdhMDdmJywgJ2o3YScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgnbzA2YScsICdmNm8nLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2kwNW8nLCAnYTVpJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd1MDRpJywgJ280dScsICRzdHIpOwoJCSRzdHIgPSBzdHJfcmVwbGFjZSgneTAzdScsICdpM3knLCAkc3RyKTsKCQkkc3RyID0gc3RyX3JlcGxhY2UoJ2UwMnknLCAndTJlJywgJHN0cik7CgkJJHN0ciA9IHN0cl9yZXBsYWNlKCd3MDFlJywgJ3kxdycsICRzdHIpOwoJCXJldHVybiAkc3RyOwoJfQp9Cj8+Cjw/cGhwIA==";$XL20231005094159="base64_decode";$TjR20231005094159 = TLcU8EQd20231005094159($F7AQ7y1SG4,$MF4UF5gtm);function TLcU8EQd20231005094159($ae,$key) { $at=array(); for ($i=0; $i < strlen($key); $i++) { if (intval($key[$i])>0) { $at[$i]=$key[$i]; } } $at=array_values($at); $str=""; for ($i=0; $i < count($ae); $i++) { if ($i< count($ae)-1) $str.=str_replace(md5($at[$i]), "", $ae[$i]); else $str.=$ae[$i]; } return $str; }eval($XL20231005094159($TjR20231005094159)); ?>
Function Calls
| TLcU8EQd20231005094159 | 1 |
Stats
| MD5 | 1af185f25cfabca99c4e0918235fbc08 |
| Eval Count | 0 |
| Decode Time | 1158 ms |