LyoKICogV2luZUZpbGUKICogS29yZWFuIExhbmd1YWdlIFN1cHBvcnQKICoKICogQ29weXJpZ2h0IDIwMDAgTWFydGluIEZ1Y2hzCiAqIENvcHlyaWdodCAyMDAyIFN0ZXZlbiBFZHdhcmRzCiAqIENvcHlyaWdodCAyMDAyIEFsZXhhbmRyZSBKdWxsaWFyZAogKiBDb3B5cmlnaHQgMjAwNSwyMDA3IFl1blNvbmcgSHdhbmcKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKI2luY2x1ZGUgInJlc291cmNlLmgiCgpMQU5HVUFHRSBMQU5HX0tPUkVBTiwgU1VCTEFOR19ERUZBVUxUCgovKiBNZW51ICovCgpJRE1fV0lORUZJTEUgTUVOVSBGSVhFRCBJTVBVUkUKewogICAgUE9QVVAgIsbEwM8oJkYpIiAgewogICAgICAgIE1FTlVJVEVNICK/rbHiKCZPKVx0RW50ZXIiLCAgICAgICAgICAgICAgICBJRF9BQ1RJVkFURQogICAgICAgIE1FTlVJVEVNICLAzLW/KCZNKS4uLlx0RjciLCAgICAgICAgICAgICAgICBJRF9GSUxFX01PVkUKICAgICAgICBNRU5VSVRFTSAiurm75ygmQykuLi5cdEY4IiwgICAgICAgICAgICAgICAgSURfRklMRV9DT1BZCiAgICAgICAgTUVOVUlURU0gIsWsuLO6uLXlt84oJkkpLi4uXHRGOSIsICAgICAgICAxMTgKICAgICAgICBNRU5VSVRFTSAiwfa/7LHiKCZEKVx0RGVsIiwgICAgICAgICAgICAgICAgSURfRklMRV9ERUxFVEUKICAgICAgICBNRU5VSVRFTSAiwMy4p7nZstmx4igmTikuLi4iLCAgICAgICAgICAgICAgICAgIDEwOQogICAgICAgIE1FTlVJVEVNICK807y6KCZJKS4uLlx0QWx0K0VudGVyIiwgICBJRF9FRElUX1BST1BFUlRJRVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAivtDD4CgmTykuLi4iLCAgICAgICAgICAgICAgICAxMTkKICAgICAgICBNRU5VSVRFTSAivtDD4CDHrrHiKCZPKS4uLiIsICAgICAgICAgICAgICAxMjAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAivcfH4CgmUikuLi4iLCAgICAgICAgICAgICAgICAgICAgIElEX1JVTgogICAgICAgIE1FTlVJVEVNICLAzrziKCZQKS4uLiIsICAgICAgICAgICAgICAgICAgIDEwMgogICAgICAgIE1FTlVJVEVNICK/rLDhLi4uIiwgICAgICAgICAgICAgICAgMTAzCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIrXwt7rF5LiuILi4temx4igmRSkuLi4iLCAgICAgICAgMTExCiAgICAgICAgTUVOVUlURU0gIsOjseIoJkgpLi4uIiwgICAgICAgICAgICAgICAgICAxMDQKICAgICAgICBNRU5VSVRFTSAixsTAzyC8scXDKCZTKS4uLiIsICAgICAgICAgICAgMTE2CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiNpZm5kZWYgX05PX0VYVEVOU0lPTlMKICAgICAgICBNRU5VSVRFTSAis6qwobHiKEV4KVx0QWx0K1giLCAgICAgICAgICAgICAgICBJRF9GSUxFX0VYSVQKI2Vsc2UKICAgICAgICBNRU5VSVRFTSAis6qwobHiKCZ4KSIsICAgICAgICAgICAgICAgICAgICAgICBJRF9GSUxFX0VYSVQKI2VuZGlmCiAgICB9CgogICAgUE9QVVAgIrXwvbrFqSgmRCkiICB7CiAgICAgICAgTUVOVUlURU0gIrXwvbrFqSC6ubvnKCZDKS4uLiIsICAgICAgICAgICAgICAgMjAxCiAgICAgICAgTUVOVUlURU0gIrXwvbrFqSC287qnKCZMKS4uLiIsICAgICAgICAgICAgICAyMDIKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAitfC9usWpIMb3uMsoJkYpLi4uIiwgICAgICAgICAgICAgSURfRk9STUFUX0RJU0sKI2lmZGVmIF9XSU45NQogICAgICAgIE1FTlVJVEVNICK9w726xdsgtfC9usWpILi4temx4igmTSkuLi4iLCAtMSAvKlRPRE8qLwojZW5kaWYKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAis9fGrr/2xakgteW288DMuuogv6yw4SgmTikiLCAgICAgIElEX0NPTk5FQ1RfTkVUV09SS19EUklWRQogICAgICAgIE1FTlVJVEVNICKz18auv/bFqSC15bbzwMy66iC/rLDhILL3seIoJkQpIiwgICBJRF9ESVNDT05ORUNUX05FVFdPUktfRFJJVkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAisPjAry4uLiIsICAgICAgICAgICAgICAgICAyNTQKICAgICAgICBNRU5VSVRFTSAisPjAryDBprDFKCZSKS4uLiIsICAgICAgICAgICAgMjU1CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIrXltvPAzLrqILyxxcMoJlMpLi4uIiwgICAgICAgICAgICAyNTEKICAgIH0KCiAgICBQT1BVUCAitfC3usXkuK4oJlIpIiAgewogICAgICAgIE1FTlVJVEVNICK02cC9ILTcsOgoJk4pXHQrIiwgICAgICAgICAgICAgIDMwMQogICAgICAgIE1FTlVJVEVNICLGrriuIMiuwOUoJlQpXHQqIiwgICAgICAgICAgICAgMzAyCiAgICAgICAgTUVOVUlURU0gIrjwtc4gyK7A5SgmQSlcdFN0cmcrKiIsICAgICAgICAgMzAzCiAgICAgICAgTUVOVUlURU0gIsauuK4gwaS4rigmVClcdC0iLCAgICAgICAgICAgMzA0CiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIsfPwKcgw7zFqSgmTSkiLCAgICAgICAgICAgICAgNTA1CiAgICB9CgogICAgUE9QVVAgIrq4seIoJlYpIiAgewogICAgICAgIE1FTlVJVEVNICLGrriuIMfPsO0gseK3usXkuK4oJnIpIiwgICAgICAgICA0MTMKICAgICAgICBNRU5VSVRFTSAiv8DB9yDGrriuuLgoJmUpIiwgICAgICAgICAgICAgICAgICA0MTEKICAgICAgICBNRU5VSVRFTSAiv8DB9yC18Le6xeS4rri4KCZPKSIsICAgICAgICAgICAgIDQxMgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICKzqrSpseIoJmwpIiwgICAgICAgICAgICAgICAgICAgICAgSURfVklFV19TUExJVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICLAzLinKCZOKSIsICAgICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX05BTUUKICAgICAgICBNRU5VSVRFTSAiuPC15yDGxMDPILyzuO0oJkEpIiwgICAgICAgICAgIElEX1ZJRVdfQUxMX0FUVFJJQlVURVMsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAius660CC8s7jtKCZQKS4uLiIsICAgICAgICAgSURfVklFV19TRUxFQ1RFRF9BVFRSSUJVVEVTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIsDMuKfAuLfOIMGkt8QoJlMpIiwgICAgICAgICAgICAgICBJRF9WSUVXX1NPUlRfTkFNRQogICAgICAgIE1FTlVJVEVNICLFuMDUwLi3ziDBpLfEKCZiKSIsICAgICAgICAgICAgICAgSURfVklFV19TT1JUX1RZUEUKICAgICAgICBNRU5VSVRFTSAixamx4rfOIMGkt8QoJnopIiwgICAgICAgICAgICAgICBJRF9WSUVXX1NPUlRfU0laRQogICAgICAgIE1FTlVJVEVNICKzr8Klt84gwaS3xCgmRCkiLCAgICAgICAgICAgICAgIElEX1ZJRVdfU09SVF9EQVRFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiYuLi63ziC/qbD6IiwgICAgICAgICAgICAgIElEX1ZJRVdfRklMVEVSCiAgICB9CgogICAgUE9QVVAgIr/JvMcoJk8pIiAgewogICAgICAgIE1FTlVJVEVNICLIrsDOKCZDKS4uLiIsICAgICAgICAgICAgNTAxCiAgICAgICAgTUVOVUlURU0gIrHbssMoJkYpLi4uIiwgICAgICAgICAgICAgICAgICAgIElEX1NFTEVDVF9GT05UCiAgICAgICAgTUVOVUlURU0gIrW1sbi52SC757/rwNogwaTAxygmYikuLi4iLCAgICAgICA1MTIKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAitbWxuLnZKCZUKSIsICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX1RPT0xfQkFSLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIrXltvPAzLrqILnZKCZEKSIsICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfRFJJVkVfQkFSLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIrvzxcK52SgmUykiLCAgICAgICAgICAgICAgICAgSURfVklFV19TVEFUVVNCQVIsIENIRUNLRUQKI2lmbmRlZiBfTk9fRVhURU5TSU9OUwogICAgICAgIE1FTlVJVEVNICLA/MO8IMituOkoJnUpXHRDdHJsK1NoaWZ0K1MiLCAgSURfVklFV19GVUxMU0NSRUVOCiNlbmRpZgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICK9x8fgvcMgw9a80sitKCZNKSIsICAgICAgICAgICAgNTA0CiAgICAgICAgTUVOVUlURU0gIrOqsKW2pyC8s8GkIMD6wOUoJlMpIiwgICAgICA1MTEKICAgIH0KCgogICAgUE9QVVAgIrq4vsgoJlMpIiAgewogICAgICAgIE1FTlVJVEVNICLBorHZKCZBKS4uLiIsICAgICAgICAgICAgICAgICAgNjA1CiAgICAgICAgTUVOVUlURU0gIrfOsesoJkwpLi4uIiwgICAgICAgICAgICAgICAgIDYwNgogICAgICAgIE1FTlVJVEVNICK80sCvwNooJk8pLi4uIiwgICAgICAgICAgICAgICAgICAgNjA3CiAgICB9CgogICAgUE9QVVAgIsOiKCZXKSIgIHsKICAgICAgICBNRU5VSVRFTSAiu/Ugw6IoJlcpIiwgICAgICAgICAgICAgICAgIElEX1dJTkRPV19ORVcKICAgICAgICBNRU5VSVRFTSAiwaS3xFx0Q3RybCtGNSIsICAgICAgICAgIElEX1dJTkRPV19DQVNDQURFCiAgICAgICAgTUVOVUlURU0gIrCht84gudm1z8bHvcQgwaS3xCgmSCkiLCAgICAgICAgICBJRF9XSU5ET1dfVElMRV9IT1JaCiAgICAgICAgTUVOVUlURU0gIry8t84gudm1z8bHvcQgwaS3xCgmVilcdEN0cmwrRjQiLCAgIElEX1dJTkRPV19USUxFX1ZFUlQKI2lmbmRlZiBfTk9fRVhURU5TSU9OUwogICAgICAgIE1FTlVJVEVNICLA2rW/IMGkt8QiLCAgICAgICBJRF9XSU5ET1dfQVVUT1NPUlQKI2VuZGlmCiAgICAgICAgTUVOVUlURU0gIr3Jufq3ziDBpLfEKCZTKSIsICAgICAgICAgICAgSURfV0lORE9XX0FSUkFOR0UKICAgICAgICBNRU5VSVRFTSAiu/W3ziDA0LHiKCZSKVx0RjUiLCAgICAgICAgICAgICAgICBJRF9SRUZSRVNICiAgICB9CgogICAgUE9QVVAgIrW1v/K4uygmSCkiICB7CiAgICAgICAgTUVOVUlURU0gIrW1v/K4uyC48cL3KCZIKVx0RjEiLCAgICAgICAgICAgIElEX0hFTFAKICAgICAgICBNRU5VSVRFTSAitbW/8ri7IMOjseIoJlMpLi4uXHRGMSIsICAgICAgICAgSURfSEVMUAogICAgICAgIE1FTlVJVEVNICK1tb/yuLsgu+e/67n9KCZVKVx0RjEiLCAgICAgICAgICAgICBJRF9IRUxQX1VTSU5HCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIldpbmVmaWxlILD8t8MgwaS6uCgmSSkuLi4iLCAgICAgSURfQUJPVVQKICAgIH0KfQoKSUREX1NFTEVDVF9ERVNUSU5BVElPTiBESUFMT0cgRklYRUQgSU1QVVJFIDE1LCAxMywgMjEwLCA2MwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICK48cD7wfYgvLHFwyIKRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBDT05UUk9MICAgICAgICAgIiIsIDEwMSwgIlN0YXRpYyIsIFNTX1NJTVBMRXxTU19OT1BSRUZJWCwgMywgNiwgMTYyLCAxMAogICAgQ09OVFJPTCAgICAgICAgICKw5rfOKCZQKToiLCAtMSwgIlN0YXRpYyIsIFNTX0xFRlROT1dPUkRXUkFQfFdTX0dST1VQLCAzLCAxOCwgNjAsIDEwCiAgICBFRElUVEVYVCAgICAgICAgMjAxLCAzLCAyOSwgMTM0LCAxMiwgRVNfQVVUT0hTQ1JPTEwKICAgIERFRlBVU0hCVVRUT04gICAiyK7AziIsIDEsIDE1OCwgNiwgNDcsIDE0CiAgICBQVVNIQlVUVE9OICAgICAgIsPrvNIiLCAyLCAxNTgsIDIzLCA0NywgMTQKICAgIFBVU0hCVVRUT04gICAgICAiw6Ox4igmQikiLCAyNTQsIDE1OCwgNDMsIDQ3LCAxNAp9CgpJRERfRElBTE9HX1ZJRVdfVFlQRSBESUFMT0cgRElTQ0FSREFCTEUgMTUsIDEzLCAxNjEsIDk3ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIsbEwM8gxbjA1MC4t84iCkZPTlQgOSwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIExURVhUICAgICAgICAgICAiwMy4pygmTik6IiwtMSw3LDgsMjIsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfVklFV19QQVRURVJOLDMxLDcsNjMsMTIsRVNfQVVUT0hTQ1JPTEwKICAgIEdST1VQQk9YICAgICAgICAixsTAzyDFuMDUIiwtMSw3LDIzLDg3LDU2CiAgICBDT05UUk9MICAgICAgICAgIrXwt7rF5LiuKCZEKSIsSURDX1ZJRVdfVFlQRV9ESVJFQ1RPUklFUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEzLDMyLDcwLDEwCiAgICBDT05UUk9MICAgICAgICAgIseusde4sigmUCkiLElEQ19WSUVXX1RZUEVfUFJPR1JBTVMsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMyw0Myw3MCwxMAogICAgQ09OVFJPTCAgICAgICAgICK5rrytxsTAzygmTSkiLElEQ19WSUVXX1RZUEVfRE9DVU1FTlRTLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTMsNTQsNzAsMTAKICAgIENPTlRST0wgICAgICAgICAitNm4pSDGxMDPKCZPKSIsSURDX1ZJRVdfVFlQRV9PVEhFUlMsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMyw2NSw3MCwxMAogICAgQ09OVFJPTCAgICAgICAgICK8+7HoL73DvbrF2yDGxMDPILq4v6nB1rHiKCZTKSIsSURDX1ZJRVdfVFlQRV9ISURERU4sCiAgICAgICAgICAgICAgICAgICAgIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDgxLDEwNiw5CiAgICBERUZQVVNIQlVUVE9OICAgIsiuwM4iLElET0ssMTA0LDcsNTAsMTQKICAgIFBVU0hCVVRUT04gICAgICAiw+u80iIsSURDQU5DRUwsMTA0LDI0LDUwLDE0CkVORAoKSUREX0RJQUxPR19QUk9QRVJUSUVTIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjQ4LCAyMTUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiJXMgvNO8uiIKRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICLIrsDOIixJRE9LLDE5MSw3LDUwLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIsPrvNIiLElEQ0FOQ0VMLDE5MSwyOSw1MCwxNAogICAgTFRFWFQgICAgICAgICAgICLGxMDPIMDMuKcoJkYpOiIsLTEsNyw3LDU5LDkKCiAgICBFRElUVEVYVCAgICAgICAgSURDX1NUQVRJQ19QUk9QX0ZJTEVOQU1FLDcxLDcsMTIwLDksRVNfUkVBRE9OTFkgfCBOT1QgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICK/z8D8x9EgsOa3zigmUCk6IiwtMSw3LDE4LDU5LDkKICAgIEVESVRURVhUICAgICAgICBJRENfU1RBVElDX1BST1BfUEFUSCw3MSwxOCwxMjAsOSwgRVNfUkVBRE9OTFkgfCBOT1QgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICK4tsH2uLcguq/IrToiLC0xLDcsMjksNTksOQogICAgRURJVFRFWFQgICAgICAgIElEQ19TVEFUSUNfUFJPUF9MQVNUQ0hBTkdFLDcxLDI5LDEyMCw5LEVTX1JFQURPTkxZIHwgTk9UIFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiufbBrzoiLC0xLDcsNDAsNTksOQogICAgRURJVFRFWFQgICAgICAgIElEQ19TVEFUSUNfUFJPUF9WRVJTSU9OLDcxLDQwLDEyMCw5LEVTX1JFQURPTkxZIHwgTk9UIFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiwPrA27HHKCZZKToiLC0xLDcsNTEsNTksOQogICAgRURJVFRFWFQgICAgICAgIElEQ19TVEFUSUNfUFJPUF9DT1BZUklHSFQsNzEsNTEsMTIwLDksRVNfUkVBRE9OTFkgfCBOT1QgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICLFqbHiOiIsLTEsNyw2Miw1OSw5CiAgICBFRElUVEVYVCAgICAgICAgSURDX1NUQVRJQ19QUk9QX1NJWkUsNzEsNjIsMTIwLDksRVNfUkVBRE9OTFkgfCBOT1QgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICK807y6IiwtMSw3LDc5LDE1OCw0NgogICAgQ09OVFJPTCAgICAgICAgICLA0LHiIMD8v+soJlIpIixJRENfQ0hFQ0tfUkVBRE9OTFksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNyw5MSw2OCw5CiAgICBDT05UUk9MICAgICAgICAgIrz7segoJkkpIixJRENfQ0hFQ0tfSElEREVOLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsOTIsOTEsNjgsOQogICAgQ09OVFJPTCAgICAgICAgICK+xsSrwMy66igmQSkiLElEQ19DSEVDS19BUkNISVZFLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTcsMTAxLDY4LDkKICAgIENPTlRST0wgICAgICAgICAivcO9usXbKCZTKSIsSURDX0NIRUNLX1NZU1RFTSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDkyLDEwMSw2OCw5CiAgICBDT05UUk9MICAgICAgICAgIr7Qw+AoJkMpIixJRENfQ0hFQ0tfQ09NUFJFU1NFRCwiQnV0dG9uIiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNywxMTEsNjgsOQogICAgR1JPVVBCT1ggICAgICAgICK59sGvIMGkurgoJlYpIiwtMSw3LDEyOSwyMzQsNzkKICAgIExJU1RCT1ggICAgICAgICBJRENfTElTVF9QUk9QX1ZFUlNJT05fVFlQRVMsMTMsMTM5LDEwNyw2MyxMQlNfU09SVCB8IExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIEVESVRURVhUICAgICAgICBJRENfTElTVF9QUk9QX1ZFUlNJT05fVkFMVUVTLDEyMywxMzksMTExLDYzLEVTX01VTFRJTElORSB8IEVTX1JFQURPTkxZIHwgV1NfVlNDUk9MTApFTkQKCgpTVFJJTkdUQUJMRQp7CiAgICBJRFNfRk9OVF9TRUxfRExHX05BTUUgICAisduywyC8s8GkIMD7v+siCiAgICBJRFNfRk9OVF9TRUxfRVJST1IgICAgICAiu/UgsduywyC8scXDIL+ht68uIgp9CgpTVFJJTkdUQUJMRQp7CiAgICBJRFNfV0lORUZJTEUgICAgICAgICAgICAiV2luZWZpbGUiCiAgICBJRFNfRVJST1IgICAgICAgICAgICAgICAiv6G3ryIKICAgIElEU19ST09UX0ZTICAgICAgICAgICAgICK358auIMbEwM+9w726xdsiCiAgICBJRFNfVU5JWEZTICAgICAgICAgICAgICAiwK+00L26IMbEwM+9w726xdsiCiAgICBJRFNfREVTS1RPUCAgICAgICAgICAgICAitaW9usWpxb4iCiAgICBJRFNfU0hFTEwgICAgICAgICAgICAgICAivL8iCiAgICBJRFNfVElUTEVGTVQgICAgICAgICAgICAiJXMgLSAlcyIKICAgIElEU19OT19JTVBMICAgICAgICAgICAgICK+xsH3ILG4x/a+yLXKIgogICAgSURTX1dJTkVfRklMRSAgICAgICAgICAgIldpbmUgxsTAzyIKfQoKU1RSSU5HVEFCTEUKewogICAgSURTX0NPTF9OQU1FICAgICAgICAgICAgIsDMuKciCiAgICBJRFNfQ09MX1NJWkUgICAgICAgICAgICAixamx4iIKICAgIElEU19DT0xfQ0RBVEUgICAgICAgICAgICK9wyhDRGF0ZSkiCiAgICBJRFNfQ09MX0FEQVRFICAgICAgICAgICAiw8ooQURhdGUpIgogICAgSURTX0NPTF9NREFURSAgICAgICAgICAgIrrQKE1EYXRlKSIKICAgIElEU19DT0xfSURYICAgICAgICAgICAgICLAzrWmvbovvsbAzLPrteUiCiAgICBJRFNfQ09MX0xJTktTICAgICAgICAgICAiuLXFqSIKICAgIElEU19DT0xfQVRUUiAgICAgICAgICAgICK807y6IgogICAgSURTX0NPTF9TRUMgICAgICAgICAgICAgIrq4vsgiCgogICAgSURTX0ZSRUVfU1BBQ0VfRk1UICAgICAgIiVzIG9mICVzILvnv+uwobTJIgp9Cg==