LyoKICogQ29weXJpZ2h0IDE5OTggSnVlcmdlbiBTY2htaWVkCiAqIENvcHlyaWdodCAyMDAzLDIwMDQsMjAwNyBKb3PpIE1hbnVlbCBGZXJyZXIgT3J0aXoKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19TUEFOSVNILCBTVUJMQU5HX05FVVRSQUwKCk1FTlVfMDAxIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KCU1FTlVJVEVNICJJY29ub3MgJmdyYW5kZXMiLAlGQ0lETV9TSFZJRVdfQklHSUNPTgoJTUVOVUlURU0gIkljb25vcyAmcGVxdWXxb3MiLAlGQ0lETV9TSFZJRVdfU01BTExJQ09OCglNRU5VSVRFTSAiJkxpc3RhIiwJCUZDSURNX1NIVklFV19MSVNUVklFVwoJTUVOVUlURU0gIiZEZXRhbGxlcyIsCQlGQ0lETV9TSFZJRVdfUkVQT1JUVklFVwpFTkQKCi8qCiBzaGVsbHZpZXcgYmFja2dyb3VuZCBtZW51CiovCk1FTlVfMDAyIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KCVBPUFVQICIiCglCRUdJTgoJICBQT1BVUCAiJlZlciIKCSAgQkVHSU4KCSAgICBNRU5VSVRFTSAiSWNvbm9zICZncmFuZGVzIiwgICAgIEZDSURNX1NIVklFV19CSUdJQ09OCgkgICAgTUVOVUlURU0gIkljb25vcyAmcGVxdWXxb3MiLCAgICBGQ0lETV9TSFZJRVdfU01BTExJQ09OCgkgICAgTUVOVUlURU0gIiZMaXN0YSIsICAgICAgICAgICAgICBGQ0lETV9TSFZJRVdfTElTVFZJRVcKCSAgICBNRU5VSVRFTSAiJkRldGFsbGVzIiwgICAgICAgICAgIEZDSURNX1NIVklFV19SRVBPUlRWSUVXCgkgIEVORAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgUE9QVVAgIk9yZGVuYXIgJmljb25vcyIKCSAgQkVHSU4KCSAgICBNRU5VSVRFTSAiUG9yICZub21icmUiLAkweDMwCS8qIGNvbHVtbiAwICovCgkgICAgTUVOVUlURU0gIlBvciAmdGlwbyIsCTB4MzIJLyogY29sdW1uIDIgKi8KCSAgICBNRU5VSVRFTSAiUG9yIHQmYW1h8W8iLAkweDMxCS8qIC4uLiAqLwoJICAgIE1FTlVJVEVNICJQb3IgJmZlY2hhIiwJMHgzMwoJICAgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICAgIE1FTlVJVEVNICImT3JkZW5hciBhdXRvbeF0aWNhbWVudGUiLAlGQ0lETV9TSFZJRVdfQVVUT0FSUkFOR0UKCSAgRU5ECgkgIE1FTlVJVEVNICJBbGluZWFyIGljb25vcyIsCQlGQ0lETV9TSFZJRVdfU05BUFRPR1JJRAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIkFjdHVhbGl6YXIiLAkJRkNJRE1fU0hWSUVXX1JFRlJFU0gKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICJQZWdhciIsCQkJRkNJRE1fU0hWSUVXX0lOU0VSVAoJICBNRU5VSVRFTSAiUGVnYXIgYWNjZXNvIGRpcmVjdG8iLAlGQ0lETV9TSFZJRVdfSU5TRVJUTElOSwoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgUE9QVVAgIk51ZXZvIgoJICBCRUdJTgoJICAgIE1FTlVJVEVNICJOdWV2YSAmY2FycGV0YSIsCQlGQ0lETV9TSFZJRVdfTkVXRk9MREVSCgkgICAgTUVOVUlURU0gIk51ZXZvICZhY2Nlc28gZGlyZWN0byIsCUZDSURNX1NIVklFV19ORVdMSU5LCgkgICAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIEVORAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIlByb3BpZWRhZGVzIiwJRkNJRE1fU0hWSUVXX1BST1BFUlRJRVMKCUVORApFTkQKCi8qCiBzaGVsbHZpZXcgaXRlbSBtZW51CiovCk1FTlVfU0hWX0ZJTEUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgoJUE9QVVAgIiIKCUJFR0lOCgkgIE1FTlVJVEVNICImU2VsZWNjaW9uYXIiCQlGQ0lETV9TSFZJRVdfT1BFTgoJICBNRU5VSVRFTSAiRSZ4cGxvcmFyIiwJCQlGQ0lETV9TSFZJRVdfRVhQTE9SRQoJICBNRU5VSVRFTSAiJkFicmlyIiwJCQlGQ0lETV9TSFZJRVdfT1BFTgoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIkMmb3J0YXIiLAkJCUZDSURNX1NIVklFV19DVVQKCSAgTUVOVUlURU0gIiZDb3BpYXIiLAkJCUZDSURNX1NIVklFV19DT1BZCgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiQyZyZWFyIGFjY2VzbyBkaXJlY3RvIiwJRkNJRE1fU0hWSUVXX0NSRUFURUxJTksKCSAgTUVOVUlURU0gIiZFbGltaW5hciIsCQkJRkNJRE1fU0hWSUVXX0RFTEVURQoJICBNRU5VSVRFTSAiUmUmbm9tYnJhciIsCQlGQ0lETV9TSFZJRVdfUkVOQU1FCgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiJlByb3BpZWRhZGVzIiwJCUZDSURNX1NIVklFV19QUk9QRVJUSUVTCglFTkQKRU5ECgpTSEJSU0ZPUkZPTERFUl9NU0dCT1ggRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMTUsIDQwLCAxODgsIDE5MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBEU19NT0RBTEZSQU1FIHwgRFNfU0VURk9OVCB8IERTXzNETE9PSwpDQVBUSU9OICJFeHBsb3JhciBjYXJwZXRhIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gIkFjZXB0YXIiLCAxLCA4MCwgMTc2LCA1MCwgMTIsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkNhbmNlbGFyIiwgMiwgMTM0LCAxNzYsIDUwLCAxMiwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiIiwgSUREX1RJVExFLCA0LCA0LCAxODAsIDEyCiBMVEVYVCAiIiwgSUREX1NUQVRVUywgNCwgMjUsIDE4MCwgMTIKIENPTlRST0wgIiIsIElERF9UUkVFVklFVywgIlN5c1RyZWVWaWV3MzIiLAogCVRWU19IQVNCVVRUT05TIHwgVFZTX0hBU0xJTkVTIHwgVFZTX0xJTkVTQVRST09UIHwKCVdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsCgk0LCA0MCwgMTgwLCAxMjAKfQoKU0hFTExfWUVTVE9BTExfTVNHQk9YIERJQUxPRyAyMDAsIDEwMCwgMjgwLCA5MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTWVuc2FqZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBERUZQVVNIQlVUVE9OICImU+0iLCBJRFlFUywgMzQsIDY5LCA1MywgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAiU+0gYSAmdG9kbyIsIElERF9ZRVNUT0FMTCwgOTIsIDY5LCA2NSwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAiJk5vIiwgSUROTywgMTYyLCA2OSwgNTMsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gIiZDYW5jZWxhciIsIElEQ0FOQ0VMLCAyMjAsIDY5LCA1MywgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgSUNPTiAiIiwgSUREX0lDT04sIDEwLCAxMCwgMTYsIDE2CiAgICBMVEVYVCAiIiwgSUREX01FU1NBR0UsIDQwLCAxMCwgMjM4LCA1MiwgMAp9CgpTSEVMTF9BQk9VVF9NU0dCT1ggRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMTUsIDQwLCAyMTAsIDE1MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiQWNlcmNhIGRlICVzIgpGT05UIDEwLCAiTVMgU2hlbGwgRGxnIgp7CiBERUZQVVNIQlVUVE9OICJBY2VwdGFyIiwgSURPSywgMTUzLCAxMzMsIDUwLCAxMiwgV1NfVEFCU1RPUAogTElTVEJPWCBJRENfQUJPVVRfTElTVEJPWCwgOCwgNjUsIDEzNywgODIsIExCU19OT1RJRlkgfCBXU19WU0NST0xMIHwgV1NfQk9SREVSCiBJQ09OICIiLCBzdGMxLCAxMCwgMTAsIDMwLCAzMAogTFRFWFQgIiIsIElEQ19BQk9VVF9TVEFUSUNfVEVYVDEsIDQwLCAxMCwgMTM3LCAxMAogTFRFWFQgIiIsIElEQ19BQk9VVF9TVEFUSUNfVEVYVDIsIDQwLCAyMiwgMTM3LCAxMAogTFRFWFQgIldpbmUgbGUgaGEgc2lkbyBwcm9wb3JjaW9uYWRvIHBvcjoiLCBJRENfQUJPVVRfV0lORV9URVhULCA4LCA1NSwgMTM3LCAxMAp9CgpTSEVMTF9SVU5fRExHIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDAsIDAsIDIyNywgOTUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBJQ09OICIiLCAxMjI5NywgNywgMTEsIDE4LCAyMCwgV1NfVklTSUJMRQogTFRFWFQgIkludHJvZHV6Y2EgZWwgbm9tYnJlIGRlIHVuIHByb2dyYW1hLCBjYXJwZXRhLCBkb2N1bWVudG8gbyByZWN1cnNvIGRlIEludGVybmV0LCB5IFdpbmUgbG8gYWJyaXLhIHBhcmEgdXN0ZWQuIiwgMTIyODksIDM2LCAxMSwgMTgyLCAxOAogTFRFWFQgIiZBYnJpcjoiLCAxMjMwNSwgNywgMzksIDI0LCAxMAogQ09OVFJPTCAiIiwgMTIyOTgsICJDT01CT0JPWCIsIFdTX1RBQlNUT1AgfCBXU19HUk9VUCB8IFdTX1ZTQ1JPTEwgfCBXU19WSVNJQkxFIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19EUk9QRE9XTiwgMzYsIDM3LCAxODMsIDEwMAogREVGUFVTSEJVVFRPTiAiQWNlcHRhciIsIElET0ssIDYyLCA2MywgNTAsIDE0LCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJDYW5jZWxhciIsIElEQ0FOQ0VMLCAxMTYsIDYzLCA1MCwgMTQsIFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZFeGFtaW5hci4uLiIsIDEyMjg4LCAxNzAsIDYzLCA1MCwgMTQsIFdTX1RBQlNUT1AKfQoKU1RSSU5HVEFCTEUKewogICAgICAgIC8qIGNvbHVtbnMgaW4gdGhlIHNoZWxsdmlldyAqLwoJSURTX1NIVl9DT0xVTU4xICAgICAgICAgIkFyY2hpdm8iCglJRFNfU0hWX0NPTFVNTjIgICAgICAgICAiVGFtYfFvIgoJSURTX1NIVl9DT0xVTU4zICAgICAgICAgIlRpcG8iCglJRFNfU0hWX0NPTFVNTjQgICAgICAgICAiTW9kaWZpY2FkbyIKCUlEU19TSFZfQ09MVU1ONSAgICAgICAgICJBdHJpYnV0b3MiCglJRFNfU0hWX0NPTFVNTjYgICAgICAgICAiVGFtYfFvIgoJSURTX1NIVl9DT0xVTU43ICAgICAgICAgIlRhbWHxbyBkaXNwb25pYmxlIgoJSURTX1NIVl9DT0xVTU44ICAgICAgICAgIk5vbWJyZSIKCUlEU19TSFZfQ09MVU1OOSAgICAgICAgICJDb21lbnRhcmlvcyIKCUlEU19TSFZfQ09MVU1OMTAgICAgICAgICJQcm9waWV0YXJvIgoJSURTX1NIVl9DT0xVTU4xMSAgICAgICAgIkdydXBvIgoJSURTX1NIVl9DT0xVTU5fREVMRlJPTSAgIkxvY2FsaXphY2nzbiBvcmlnaW5hbCIKCUlEU19TSFZfQ09MVU1OX0RFTERBVEUgICJGZWNoYSBkZSBib3JyYWRvIgoKICAgICAgICAvKiBzcGVjaWFsIGZvbGRlcnMgKi8KCUlEU19ERVNLVE9QCQkiRXNjcml0b3JpbyIKCUlEU19NWUNPTVBVVEVSCQkiTWkgUEMiCiAgICAgICAgSURTX1JFQ1lDTEVCSU5fRk9MREVSX05BTUUgIlBhcGVsZXJhIGRlIHJlY2ljbGFqZSIKCiAgICAgICAgLyogY29udGV4dCBtZW51cyAqLwoJSURTX1ZJRVdfTEFSR0UJCSJJY29ub3MgJmdyYW5kZXMiCglJRFNfVklFV19TTUFMTAkJIkljb25vcyAmcGVxdWXxb3MiCglJRFNfVklFV19MSVNUCQkiJkxpc3RhIgoJSURTX1ZJRVdfREVUQUlMUwkiJkRldGFsbGVzIgoJSURTX1NFTEVDVAkJIlNlbGVjY2lvbmFyIgoJSURTX09QRU4JCSJBYnJpciIKCglJRFNfQ1JFQVRFRk9MREVSX0RFTklFRCAiTm8gc2UgcHVlZGUgY3JlYXIgbnVldmEgY2FycGV0YTogUGVybWlzbyBkZW5lZ2Fkby4iCglJRFNfQ1JFQVRFRk9MREVSX0NBUFRJT04gIkVycm9yIGR1cmFudGUgbGEgY3JlYWNp824gZGUgdW5hIG51ZXZhIGNhcnBldGEiCglJRFNfREVMRVRFSVRFTV9DQVBUSU9OICJDb25maXJtYXIgZWxpbWluYWNp824gZGUgYXJjaGl2byIKCUlEU19ERUxFVEVGT0xERVJfQ0FQVElPTiAiQ29uZmlybWFyIGVsaW1pbmFjafNuIGRlIGNhcnBldGEiCglJRFNfREVMRVRFSVRFTV9URVhUICK/U2VndXJvIHF1ZSBkZXNlYSBlbGltaW5hciAnJTEnPyIKCUlEU19ERUxFVEVNVUxUSVBMRV9URVhUICK/U2VndXJvIHF1ZSBkZXNlYSBlbGltaW5hciBlc3RvcyAlMSBlbGVtZW50b3M/IgoJSURTX0RFTEVURVNFTEVDVEVEX1RFWFQgIr9TZWd1cm8gcXVlIGRlc2VhIGVsaW1pbmFyIGVsIChsb3MpIGVsZW1lbnRvKHMpIHNlbGVjY2lvbmFkbyhzKT8iCglJRFNfVFJBU0hJVEVNX1RFWFQgIr9TZWd1cm8gcXVlIGRlc2VhIGVudmlhciAnJTEnIGEgbGEgcGFwZWxlcmEgZGUgcmVjaWNsYWplPyIKCUlEU19UUkFTSEZPTERFUl9URVhUICK/U2VndXJvIHF1ZSBkZXNlYSBlbnZpYXIgJyUxJyB5IHRvZG8gc3UgY29udGVuaWRvIGEgbGEgcGFwZWxlcmEgZGUgcmVjaWNsYWplPyIKCUlEU19UUkFTSE1VTFRJUExFX1RFWFQgIr9TZWd1cm8gcXVlIGRlc2VhIGVudmlhciBlc3RvcyAlMSBlbGVtZW50b3MgYSBsYSBwYXBlbGVyYSBkZSByZWNpY2xhamU/IgoJSURTX0NBTlRUUkFTSF9URVhUICJFbCBlbGVtZW50byAnJTEnIG5vIHB1ZWRlIGVudmlhcnNlIGEgbGEgcGFwZWxlcmEgZGUgcmVjaWNsYWplLiC/RGVzZWEgZWxpbWluYXJsbyBlbiBzdSBsdWdhcj8iCglJRFNfT1ZFUldSSVRFRklMRV9URVhUICJFc3RhIGNhcnBldGEgeWEgY29udGllbmUgdW4gYXJjaGl2byBsbGFtYWRvICclMScuXG5cbr9EZXNlYSByZWVtcGxhemFybG8/IgoJSURTX09WRVJXUklURUZJTEVfQ0FQVElPTiAiQ29uZmlybWFyIHNvYnJlZXNjcml0dXJhIGRlIGFyY2hpdm8iCglJRFNfT1ZFUldSSVRFRk9MREVSX1RFWFQgIkVzdGEgY2FycGV0YSB5YSBjb250aWVuZSB1bmEgY2FycGV0YSBsbGFtYWRhICclMScuXG5cbiJcCgkgICAgIlNpIGxvcyBhcmNoaXZvcyBkZSBsYSBjYXJwZXRhIGRlIGRlc3Rpbm8gdGllbmVuIGxvcyBtaXNtb3Mgbm9tYnJlcyBxdWUgbG9zXG4iXAoJICAgICJkZSBsYSBjYXJwZXRhIHNlbGVjY2lvbmFkYSwg6XN0b3Mgc2Vy4W4gcmVlbXBsYXphZG9zLiC/VG9kYXbtYSBkZXNlYSBtb3ZlclxuIlwKCSAgICAibyBjb3BpYXIgbGEgY2FycGV0YT8iCgogICAgICAgIC8qIG1lc3NhZ2UgYm94IHN0cmluZ3MgKi8KICAgICAgICBJRFNfUkVTVEFSVF9USVRMRQkiUmVpbmljaWFyIgogICAgICAgIElEU19SRVNUQVJUX1BST01QVAkiv0Rlc2VhIHNpbXVsYXIgdW4gcmVpbmljaW8gZGUgV2luZG93cz8iCiAgICAgICAgSURTX1NIVVRET1dOX1RJVExFCSJBcGFnYXIiCiAgICAgICAgSURTX1NIVVRET1dOX1BST01QVAkiv0Rlc2VhIHRlcm1pbmFyIHN1IHNlc2nzbiBkZSBXaW5lPyIKCiAgICAgICAgLyogc2hlbGwgZm9sZGVyIHBhdGggZGVmYXVsdCB2YWx1ZXMgKi8KCUlEU19QUk9HUkFNUyAgICAgICAgICAgICAgICAiTWVu+iBJbmljaW9cXFByb2dyYW1hcyIKCUlEU19QRVJTT05BTCAgICAgICAgICAgICAgICAiTWlzIGRvY3VtZW50b3MiCglJRFNfRkFWT1JJVEVTICAgICAgICAgICAgICAgIkZhdm9yaXRvcyIKCUlEU19TVEFSVFVQICAgICAgICAgICAgICAgICAiTWVu+iBJbmljaW9cXFByb2dyYW1hc1xcSW5pY2lvIgoJSURTX1JFQ0VOVCAgICAgICAgICAgICAgICAgICJSZWNpZW50ZXMiCglJRFNfU0VORFRPICAgICAgICAgICAgICAgICAgIkVudmlhciBhIgoJSURTX1NUQVJUTUVOVSAgICAgICAgICAgICAgICJNZW76IEluaWNpbyIKCUlEU19NWU1VU0lDICAgICAgICAgICAgICAgICAiTWkgbfpzaWNhIgoJSURTX01ZVklERU8gICAgICAgICAgICAgICAgICJNaXMgdu1kZW9zIgoJSURTX0RFU0tUT1BESVJFQ1RPUlkgICAgICAgICJFc2NyaXRvcmlvIgoJSURTX05FVEhPT0QgICAgICAgICAgICAgICAgICJFbnRvcm5vIGRlIHJlZCIKCUlEU19URU1QTEFURVMgICAgICAgICAgICAgICAiUGxhbnRpbGxhcyIKCUlEU19BUFBEQVRBICAgICAgICAgICAgICAgICAiQXBwbGljYXRpb24gRGF0YSIKCUlEU19QUklOVEhPT0QgICAgICAgICAgICAgICAiVmVuY2luZGFyaW8gZGUgaW1wcmVzafNuIgoJSURTX0xPQ0FMX0FQUERBVEEgICAgICAgICAgICJDb25maWd1cmFjafNuIGxvY2FsXFxEYXRvcyBkZSBwcm9ncmFtYSIKCUlEU19JTlRFUk5FVF9DQUNIRSAgICAgICAgICAiQ29uZmlndXJhY2nzbiBsb2NhbFxcQXJjaGl2b3MgdGVtcG9yYWxlcyBkZSBJbnRlcm5ldCIKCUlEU19DT09LSUVTICAgICAgICAgICAgICAgICAiQ29va2llcyIKCUlEU19ISVNUT1JZICAgICAgICAgICAgICAgICAiQ29uZmlndXJhY2nzbiBsb2NhbFxcSGlzdG9yaWFsIgoJSURTX1BST0dSQU1fRklMRVMgICAgICAgICAgICJBcmNoaXZvcyBkZSBwcm9ncmFtYSIKCUlEU19NWVBJQ1RVUkVTICAgICAgICAgICAgICAiTWlzIGlt4WdlbmVzIgoJSURTX1BST0dSQU1fRklMRVNfQ09NTU9OICAgICJBcmNoaXZvcyBkZSBwcm9ncmFtYVxcQXJjaGl2b3MgY29tdW5lcyIKCUlEU19DT01NT05fRE9DVU1FTlRTICAgICAgICAiRG9jdW1lbnRvcyIKCUlEU19BRE1JTlRPT0xTICAgICAgICAgICAgICAiTWVu+iBJbmljaW9cXFByb2dyYW1hc1xcQWNjZXNvcmlvc1xcSGVycmFtaWVudGFzIGRlbCBzaXN0ZW1hIgoJSURTX0NPTU1PTl9NVVNJQyAgICAgICAgICAgICJEb2N1bWVudG9zXFxNaSBt+nNpY2EiCglJRFNfQ09NTU9OX1BJQ1RVUkVTICAgICAgICAgIkRvY3VtZW50b3NcXE1pcyBpbeFnZW5lcyIKCUlEU19DT01NT05fVklERU8gICAgICAgICAgICAiRG9jdW1lbnRvc1xcTWlzIHbtZGVvcyIKCUlEU19DREJVUk5fQVJFQSAgICAgICAgICAgICAiQ29uZmlndXJhY2nzbiBsb2NhbFxcRGF0b3MgZGUgcHJvZ3JhbWFcXE1pY3Jvc29mdFxcQ0QgQnVybmluZyIKCglJRFNfTkVXRk9MREVSCQkiTnVldmEgY2FycGV0YSIKfQo=