LyoKICogQ29weXJpZ2h0IDIwMDggYnkgS2F0YXlhbWEgSGlyb2Z1bWkgTVoKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19KQVBBTkVTRSwgU1VCTEFOR19ERUZBVUxUCgpJRE1fTUFJTk1FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIoN0g0CDQ4OLKCZGKSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIpBWi0uN7JCsKCZOKS4uLlx0Q3RybCtOIiwgSURfRklMRV9ORVcKICAgICAgICBNRU5VSVRFTSAiikqCrSgmTykuLi5cdEN0cmwrTyIsICAgICBJRF9GSUxFX09QRU4KICAgICAgICBNRU5VSVRFTSAij+OPkYKrlduRtigmUylcdEN0cmwrUyIsICBJRF9GSUxFX1NBVkUKICAgICAgICBNRU5VSVRFTSAilryRT4LwlXSCr4LElduRtigmQSkuLi4iLCBJRF9GSUxFX1NBVkVBUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICKI8438KCZQKS4uLlx0Q3RybCtQIiwgICAgIElEX1BSSU5UCiAgICAgICAgTUVOVUlURU0gIojzjfyDdoOMg3KDhYFbKCZXKS4uLiIsICAgSURfUFJFVklFVwogICAgICAgIE1FTlVJVEVNICKDeYFbg1eQ3ZLoKCZFKS4uLiIsICAgICAgIElEX1BSSU5UU0VUVVAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAij0mXuSgmWCkiLCAgICAgICAgICAgICAgICBJRF9GSUxFX0VYSVQKICAgIEVORAogICAgUE9QVVAgIpXSj1coJkUpIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAijLOCyZbfgrcoJlUpXHRDdHJsK1oiLCAgICAgICAgSURfRURJVF9VTkRPCiAgICAgICAgTUVOVUlURU0gIoLiguiSvIK1KCZFKVx0Q3RybCtZIiwgICAgICAgIElEX0VESVRfUkVETwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICKQ2ILojuaC6CgmVClcdEN0cmwrWCIsICAgICAgICBJRF9FRElUX0NVVAogICAgICAgIE1FTlVJVEVNICKDUoNzgVsoJkMpXHRDdHJsK0MiLCAgICAgICAgICBJRF9FRElUX0NPUFkKICAgICAgICBNRU5VSVRFTSAik1xcguiVdIKvKCZQKVx0Q3RybCtWIiwgICAgICAgIElEX0VESVRfUEFTVEUKICAgICAgICBNRU5VSVRFTSAig06DioNBKCZDKVx0REVMIiwgICAgICAgICAgICAgSURfRURJVF9DTEVBUgogICAgICAgIE1FTlVJVEVNICKCt4LXgsSRSZHwKCZTKVx0Q3RybCtBIiwgICAgICBJRF9FRElUX1NFTEVDVEFMTAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICKMn431KCZGKS4uLlx0Q3J0bCtGIiwgICAgICAgICBJRF9GSU5ECiAgICAgICAgTUVOVUlURU0gIo6fgvCMn431KCZOKVx0RjMiLCAgICAgICAgICAgIElEX0ZJTkRfTkVYVAogICAgICAgIE1FTlVJVEVNICKSdYq3KCZSKS4uLlx0Q3RybCtIIiwgICAgICAgICBJRF9SRVBMQUNFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIpPHgt2O5oLokOqXcCgmTykiLCAgICAgICAgICAgIElEX0VESVRfUkVBRE9OTFkKICAgICAgICBNRU5VSVRFTSAilc+NWIKggugoJk0pIiwgICAgICAgICAgICAgICAgSURfRURJVF9NT0RJRklFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICJFJnh0cmFzIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICJTZWxlY3Rpb24gJmluZm8iLCAgICAgICAgIElEX0VESVRfU0VMRUNUSU9OSU5GTwogICAgICAgICAgICBNRU5VSVRFTSAiQ2hhcmFjdGVyICZmb3JtYXQiLCAgICAgICBJRF9FRElUX0NIQVJGT1JNQVQKICAgICAgICAgICAgTUVOVUlURU0gIiZEZWYuIGNoYXIgZm9ybWF0IiwgICAgICAgSURfRURJVF9ERUZDSEFSRk9STUFUCiAgICAgICAgICAgIE1FTlVJVEVNICJQYXJhZ3JhcCZoIGZvcm1hdCIsICAgICAgIElEX0VESVRfUEFSQUZPUk1BVAogICAgICAgICAgICBNRU5VSVRFTSAiJkdldCB0ZXh0IiwgICAgICAgICAgICAgICBJRF9FRElUX0dFVFRFWFQKICAgICAgICBFTkQKICAgIEVORAogICAgUE9QVVAgIpVcXI6mKCZWKSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIoNjgVuDi4NvgVsoJlQpIiwgICAgICAgICAgICAgIElEX1RPR0dMRV9UT09MQkFSCiAgICAgICAgTUVOVUlURU0gIo+Rjq6Db4FbKCZGKSIsICAgICAgICAgICAgICAgIElEX1RPR0dMRV9GT1JNQVRCQVIKICAgICAgICBNRU5VSVRFTSAig4uBW4OJgVsoJlIpIiwgICAgICAgICAgICAgICAgSURfVE9HR0xFX1JVTEVSCiAgICAgICAgTUVOVUlURU0gIoNYg2WBW4Neg1ggg2+BWygmUykiLCAgICAgICAgIElEX1RPR0dMRV9TVEFUVVNCQVIKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAig0mDdoNWg4eDkygmTykuLi4iLCAgICAgICAgICAgSURfVklFV1BST1BFUlRJRVMKICAgIEVORAogICAgUE9QVVAgIpF9k/woJkkpIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAik/qVdILGjp6NjygmRCkuLi4iLCAgICAgICAgICAgSURfREFURVRJTUUKICAgIEVORAogICAgUE9QVVAgIo+Rjq4oJk8pIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAig3SDSIOTg2coJkYpLi4uIiwgICAgICAgICAgICAgSURfRk9OVFNFVFRJTkdTCiAgICAgICAgTUVOVUlURU0gIonTj/CPkYKrKCZCKSIgICAgICAgICAgICAgICAgIElEX0JVTExFVAogICAgICAgIE1FTlVJVEVNICKSaZeOKCZQKS4uLiIgICAgICAgICAgICAgICAgICBJRF9QQVJBRk9STUFUCiAgICAgICAgTUVOVUlURU0gIoNeg3UoJlQpLi4uIiAgICAgICAgICAgICAgICAgIElEX1RBQlNUT1BTCiAgICAgICAgUE9QVVAgIpR3jGkoJkQpIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICKDVoNYg2WDgCgmUylcdEN0cmwrMSIsICAgICAgICBJRF9CQUNLXzEKICAgICAgICAgICAgTUVOVUlURU0gIiZQb3N0VGhhdCB5ZWxsb3dpc2hcdEN0cmwrMiIsIElEX0JBQ0tfMgogICAgICAgIEVORAogICAgRU5ECiAgICBQT1BVUCAig3eDi4N2KCZIKSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIldpbmUgV29yZHBhZILJgsKCooLEKCZBKSIgICAgICBJRF9BQk9VVAogICAgRU5ECkVORAoKSURNX1BPUFVQIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICKQ2ILojuaC6CgmVCkiLCAgICAgICAgSURfRURJVF9DVVQKICAgICAgICBNRU5VSVRFTSAig1KDc4FbKCZDKSIsICAgICAgICAgIElEX0VESVRfQ09QWQogICAgICAgIE1FTlVJVEVNICKTXFyC6JV0gq8oJlApIiwgICAgICAgIElEX0VESVRfUEFTVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiidOP8I+RgqsoJkIpIiAgICAgICAgIElEX0JVTExFVAogICAgICAgIE1FTlVJVEVNICKSaZeOKCZQKS4uLiIgICAgICAgICAgSURfUEFSQUZPUk1BVAogICAgRU5ECkVORAoKSUREX0RBVEVUSU1FIERJQUxPRyBESVNDQVJEQUJMRSAzMCwgMjAsIDEzMCwgODAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIpP6lXSCxo6ejY8iCkZPTlQgOSwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIExURVhUICAgICAgICAil5iXcILFgquC6Yxgjq4iLDAsMywyLDEwMCwxNQogICAgTElTVEJPWCAgICAgIElEQ19EQVRFVElNRSwzLDEyLDgwLDY1LExCU19OT0lOVEVHUkFMSEVJR0hUfExCU19OT1RJRlkKICAgIFBVU0hCVVRUT04gICAiJk9LIixJRE9LLDg3LDEyLDQwLDEyCiAgICBQVVNIQlVUVE9OICAgIoNMg4ODk4Nag4soJkMpIixJRENBTkNFTCw4NywyNiw0MCwxMgpFTkQKCklERF9ORVdGSUxFIERJQUxPRyBESVNDQVJEQUJMRSAzMCwgMjAsIDE0MCwgODAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIpBWi0uN7JCsIgpGT05UIDksICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVCAgICAgICAgIpBWgrWCopW2j5GMYI6uIiwwLDMsMiwxMDAsMTUKICAgIExJU1RCT1ggICAgICBJRENfTkVXRklMRSwzLDEyLDkwLDY1LExCU19OT0lOVEVHUkFMSEVJR0hUCiAgICBQVVNIQlVUVE9OICAgIiZPSyIsSURPSyw5NywxMiw0MCwxMgogICAgUFVTSEJVVFRPTiAgICKDTIODg5ODWoOLKCZDKSIsSURDQU5DRUwsOTcsMjYsNDAsMTIKRU5ECgpJRERfUEFSQUZPUk1BVCBESUFMT0cgRElTQ0FSREFCTEUgMzAsIDIwLCAyMDAsIDExMApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAikmmXjoLMkN2S6CIKRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggIoNDg5ODZoOTg2ciLCAwLCAxMCwgMTAsIDEyMCwgNjgKICAgIExURVhUICKNtigmTCkiLCAwLCAxNSwgMjIsIDQwLCAxMwogICAgRURJVFRFWFQgSURDX1BBUkFfTEVGVCwgNTUsIDIwLCA2MCwgMTMKICAgIExURVhUICKJRSgmUikiLCAwLCAxNSwgNDAsIDQwLCAxMwogICAgRURJVFRFWFQgSURDX1BBUkFfUklHSFQsIDU1LCAzOCwgNjAsIDEzCiAgICBMVEVYVCAijcWPiYLMjXMoJkYpIiwgMCwgMTUsIDU4LCA0MCwgMTMKICAgIEVESVRURVhUIElEQ19QQVJBX0ZJUlNULCA1NSwgNTYsIDYwLCAxMwogICAgTFRFWFQgIpCul/EoJkEpIiwgMCwgMTUsIDg3LCA0MCwgMTMKICAgIENPTUJPQk9YIElEQ19QQVJBX0FMSUdOLCA1NSwgODUsIDYwLCA2MCwgQ0JTX0RST1BET1dOTElTVAogICAgUFVTSEJVVFRPTiAiJk9LIiwgSURPSywgMTM3LCAxNSwgNTAsIDE1CiAgICBQVVNIQlVUVE9OICKDTIODg5ODWoOLKCZDKSIsIElEQ0FOQ0VMLCAxMzcsIDMzLCA1MCwgMTUKRU5ECgpJRERfVEFCU1RPUFMgRElBTE9HIERJU0NBUkRBQkxFIDMwLCAyMCwgMjAwLCAxMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIoNeg3WCzJDdkugiCkZPTlQgOSwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICKDXoN1gsyS4o5+iMqSdSgmVCkiLCAwLCAxMCwgMTAsIDEyMCwgOTAKICAgIENPTUJPQk9YIElEQ19UQUJTVE9QUywgMjAsIDIwLCAxMDAsIDYwLCBDQlNfU0lNUExFIHwgQ0JTX1NPUlQKICAgIERFRlBVU0hCVVRUT04gIpLHicEoJkEpIiwgSURfVEFCX0FERCwgMjAsIDgwLCA0NSwgMTUKICAgIFBVU0hCVVRUT04gIo3tj5woJlIpIiwgSURfVEFCX0RFTCwgNzIsIDgwLCA0NSwgMTUKICAgIFBVU0hCVVRUT04gIiZPSyIsIElET0ssIDEzNywgMTUsIDUwLCAxNQogICAgUFVTSEJVVFRPTiAig0yDg4OTg1qDiygmQykiLCBJRENBTkNFTCwgMTM3LCAzMywgNTAsIDE1CiAgICBQVVNIQlVUVE9OICKCt4LXgsSN7Y+cKCZMKSIsIElEX1RBQl9FTVBUWSwgMTM3LCA1MSwgNTAsIDE1CkVORAoKSUREX0ZPUk1BVE9QVFMgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgMTEwClNUWUxFIERTX1NZU01PREFMCkNBUFRJT04gIiIKRk9OVCA5LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggIo1zgsyQ3ILoldSCtSIsIDAsIDEwLCAxMCwgMTMwLCA4NQogICAgUkFESU9CVVRUT04gIoNFg0KDk4Nog0WCzIurikWCxZDcguiV1IK3KCZXKSIsIElEQ19QQUdFRk1UX1dXLCAxOCwgMjUsIDExNywgMTUKICAgIFJBRElPQlVUVE9OICKDfYFbg1eDk4LFkNyC6JXUgrcoJk0pIiwgSURDX1BBR0VGTVRfV00sIDE4LCA0NSwgMTE3LCAxNQogICAgR1JPVVBCT1ggIoNjgVuDi4NvgVsiLCAwLCAxNTAsIDEwLCAxMjAsIDg1CiAgICBDSEVDS0JPWCAig2OBW4OLg2+BWygmVCkiLCBJRENfUEFHRUZNVF9UQiwgMTYwLCAyMCwgODAsIDE1CiAgICBDSEVDS0JPWCAij5GOroNvgVsoJkYpIiwgSURDX1BBR0VGTVRfRkIsIDE2MCwgMzgsIDgwLCAxNQogICAgQ0hFQ0tCT1ggIoOLgVuDiYFbKCZSKSIsIElEQ19QQUdFRk1UX1JVLCAxNjAsIDU2LCA4MCwgMTUKICAgIENIRUNLQk9YICKDWINlgVuDXoNYg2+BWygmUykiLCBJRENfUEFHRUZNVF9TQiwgMTYwLCA3NCwgODAsIDE1CiAgICBMVEVYVCAiIiwgSURDX1BBR0VGTVRfSUQsIDAsMCwwLDAKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1JJQ0hURVhUX0ZJTEVTX1JURiwgICAgICKDioNig2CDZYNMg1iDZ4xgjq4gKCoucnRmKSIKICAgIFNUUklOR19URVhUX0ZJTEVTX1RYVCwgICAgICAgICAig2WDTINYg2eVto+RICgqLnR4dCkiCiAgICBTVFJJTkdfVEVYVF9GSUxFU19VTklDT0RFX1RYVCwgIlVuaWNvZGWDZYNMg1iDZ5W2j5EoKi50eHQpIgogICAgU1RSSU5HX0FMTF9GSUxFUywgICAgICAgICAgICAgICKCt4LXgsSCzIN0g0CDQ4OLICgqLiopIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfQUxJR05fTEVGVCwgICAgICAgICAgICAijbYiCiAgICBTVFJJTkdfQUxJR05fUklHSFQsICAgICAgICAgICAiiUUiCiAgICBTVFJJTkdfQUxJR05fQ0VOVEVSLCAgICAgICAgICAikoaJmyIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX05FV0ZJTEVfUklDSFRFWFQsICAgICAig4qDYoNgg2WDTINYg2eVto+RIgogICAgU1RSSU5HX05FV0ZJTEVfVFhULCAgICAgICAgICAig2WDTINYg2eVto+RIgogICAgU1RSSU5HX05FV0ZJTEVfVFhUX1VOSUNPREUsICAiVW5pY29kZYNlg0yDWINnlbaPkSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1BSSU5URVJfRklMRVNfUFJOLCAgICAgICAgIoN2g4qDk4Neg3SDQINDg4sgKCouUFJOKSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX1ZJRVdQUk9QU19USVRMRSwgICAgICAgICAgIoNJg3aDVoOHg5MiCiAgICBTVFJJTkdfVklFV1BST1BTX1RFWFQsICAgICAgICAgICAig2WDTINYg2ciCiAgICBTVFJJTkdfVklFV1BST1BTX1JJQ0hURVhULCAgICAgICAig4qDYoNgg2WDTINYg2ciCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFNUUklOR19QUkVWSUVXX1BSSU5ULCAgICAgICAgICAgICKI8438IgogICAgU1RSSU5HX1BSRVZJRVdfTkVYVFBBR0UsICAgICAgICAgIo6fgsyDeYFbg1ciCiAgICBTVFJJTkdfUFJFVklFV19QUkVWUEFHRSwgICAgICAgICAikU+CzIN5gVuDVyIKICAgIFNUUklOR19QUkVWSUVXX1RXT1BBR0VTLCAgICAgICAgICIyg3mBW4NXIgogICAgU1RSSU5HX1BSRVZJRVdfT05FUEFHRSwgICAgICAgICAgIjGDeYFbg1ciCiAgICBTVFJJTkdfUFJFVklFV19DTE9TRSwgICAgICAgICAgICAilcKCtoLpIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBTVFJJTkdfVU5JVFNfQ00sICAgICAgICAgICAgICJjbSIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgU1RSSU5HX0RFRkFVTFRfRklMRU5BTUUsICAgICAilbaPkSIKICAgIFNUUklOR19QUk9NUFRfU0FWRV9DSEFOR0VTLCAgIiclcyeC1oLMlc+NWILwlduRtoK1gtyCt4KpPyIKICAgIFNUUklOR19TRUFSQ0hfRklOSVNIRUQsICAgICAgIpW2j5GCzIyfjfWC8Iqul7mBQiIKICAgIFNUUklOR19MT0FEX1JJQ0hFRF9GQUlMRUQsICAgIlJpY2hFZGl0g4mDQ4N1g4mDioLMk8eC3Y2egt2CyY64lHOBQiIKICAgIFNUUklOR19TQVZFX0xPU0VGT1JNQVRUSU5HLCAgIoN2g4yBW4OTg2WDTINYg2eMYI6ugsWV25G2greC6YLGgUEiIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIoK3gteCxILMj5GOroKqjriC7YLqgtyCt4FCIiBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICKCu4LqgsWC4ILmgqKCxYK3gqmBSCIKICAgIFNUUklOR19JTlZBTElEX05VTUJFUiwgICAgICAgIpCUgsyPkY6ugqqVc5CzIgogICAgU1RSSU5HX09MRV9TVE9SQUdFX05PVF9TVVBQT1JURUQsICJPTEWDWINng4yBW4NXlbaPkYLNg1SDfIFbg2eCs4LqgsSCooLcgrmC8YFCIgogICAgU1RSSU5HX1dSSVRFX0ZBSUxFRCwgICAgICAgICAgICAgICKDdINAg0ODi4LwlduRtoLFgquC3IK5gvGBQiIKICAgIFNUUklOR19XUklURV9BQ0NFU1NfREVOSUVELCAgICAgICAig3SDQINDg4uCyZXbkbaCt4LpjKCMwIKqgqCC6ILcgrmC8YFCIgogICAgU1RSSU5HX09QRU5fRkFJTEVELCAgICAgICAgICAgICAgICKDdINAg0ODi4LwikqCr4LcgrmC8YFCIgogICAgU1RSSU5HX09QRU5fQUNDRVNTX0RFTklFRCwgICAgICAgICKDdINAg0ODi4LwikqCrYygjMCCqoKgguiC3IK5gvGBQiIKRU5ECg==