LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogUG9ydHVndWVzZSBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDAzLTIwMDQgTWFyY2VsbyBEdWFydGUKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCiAqCiAqLwoKTEFOR1VBR0UgTEFOR19QT1JUVUdVRVNFLCBTVUJMQU5HX0RFRkFVTFQKCklERF9BQk9VVENGRyBESUFMT0dFWCAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVCAgICAgICAgICAgIlZlcnPjbyBkbyBXaW5lOiIsSURDX1NUQVRJQywxMTksMTcsNTUsOAogICAgTFRFWFQgICAgICAgICAgICJDVlMiLElEQ19XSU5FVkVSLDE3OSwxNyw1Niw4CiAgICBDT05UUk9MICAgICAgICAgSURCX1dJTkUsSURDX1NUQVRJQywiU3RhdGljIixTU19CSVRNQVAgfCBTU19DRU5URVJJTUFHRSB8IAogICAgICAgICAgICAgICAgICAgIFNTX1JFQUxTSVpFSU1BR0UgfCBXU19CT1JERVIsMTUsMTcsMTU3LDExMSwgV1NfRVhfVFJBTlNQQVJFTlQKICAgIExURVhUICAgICAgICAgICAiaHR0cDovL3d3dy53aW5laHEub3JnLyIsSURDX1NUQVRJQywxMTksMzEsMTA2LDgKICAgIEdST1VQQk9YICAgICAgICAiSW5mb3JtYefjbyIsSURDX1NUQVRJQyw4LDQsMjQ0LDEwNgogICAgQ1RFWFQgICAgICAgICAgICJUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxMTksNDQsMTI0LDU5CkVORAoKSUREX0FQUENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICJDb25maWd1cmHn9WVzIGRhIGFwbGljYefjbyIsSURDX1NUQVRJQywgOCw0LDI0NCwyNDAKICAgIExURVhUICAgICAgICAgICAiV2luZSBmb3JuZWNlIGEgaGFiaWxpZGFkZSBhIGFwbGljYef1ZXMgV2luZG93cyBkZSBpbWl0YXIgduFyaW9zIGVzdGlsb3MgZSB2ZXJz9WVzIGRvIFdpbmRvd3MiLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMjAsMjI3LDIwCiAgICBDT05UUk9MICAgICAgICAgIkFwbGljYef1ZXMiLElEQ19BUFBfVFJFRVZJRVcsIlN5c1RyZWVWaWV3MzIiLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBUVlNfTElORVNBVFJPT1QgfCBUVlNfSEFTTElORVMgfCBUVlNfU0hPV1NFTEFMV0FZUyB8IFRWU19IQVNCVVRUT05TLCAxNSw0MCwxNDIsMTQ1CiAgICBQVVNIQlVUVE9OCSAgICAiQWRpY29uYXIgYXBsaWNh5+NvLi4uIixJRENfQVBQX0FEREFQUCwgMTYzLDQwLDgyLDYwCiAgICBQVVNIQlVUVE9OCSAgICAiUmVtb3ZlciBhcGxpY2Hn428iLElEQ19BUFBfUkVNT1ZFQVBQLCAxNjMsMTI1LDgyLDYwCiAgICBMVEVYVCAgICAgICAgICAgIlZlcnPjbyBkbyBXaW5kb3dzOiIsSURDX1NUQVRJQywxNywxOTIsNjUsOAogICAgTFRFWFQgICAgICAgICAgICJWZXJz428gZG8gRE9TOiIsSURDX1NUQVRJQywxNywyMTEsNjUsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19XSU5WRVIsMTA4LDE5MCwxMzgsNTYsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBDT01CT0JPWCAgICAgICAgSURDX0RPU1ZFUiwxMDgsMjA4LDEzOCw1NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKRU5ECgpJRERfR1JBUEhDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIExURVhUCSAgICAiUHJvZnVuZGlkYWRlIGRlIGNvcmVzOiAiLElEQ19TVEFUSUMsOCwxMCw4MCwzMAogICAgQ09NQk9CT1gJICAgIElEQ19TQ1JFRU5fREVQVEgsODUsOCwxNjUsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTAkgICAgIlByb2dyYW1hcyBEaXJlY3RYIHBvZGVtIGltcGVkaXIgcXVlIG8gbW91c2UgZGVpeGUgYSBqYW5lbGE/IixJRENfRFhfTU9VU0VfR1JBQiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDM1LDIzMCw4CiAgICBDT05UUk9MCSAgICAiUGVybWl0aXIgYnVmZmVyIGR1cGxvIGRvIGRlc2t0b3AiLElEQ19ET1VCTEVfQlVGRkVSLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsNDUsMjMwLDgKICAgIAogICAgR1JPVVBCT1ggICAgICAgICIgQ29uZmlndXJh5/VlcyBkZSBqYW5lbGEgIixJRENfU1RBVElDLDgsMjUsMjQ0LDEyMAoKICAgIC8qIEZJWE1FOiB0aGUgd29yZGluZyBvZiB0aGlzIGV4cGxhbmF0aW9uIGNvdWxkIGJlIGEgbG90IGJldHRlciAqLwogICAgTFRFWFQgICAgICAgICAgICJWb2PqIHBvZGUgZXNjb2xoZXIgZW11bGF0YXIgdW1hIOFyZWEgZGUgdHJhYmFsaG8sIG9uZGUgdG9kYXMgYXMgamFuZWxhcyBz428gY29uZmluYWRhcyBlbSB1bWEgJ3RlbGEgdmlydHVhbCcsIG91IHBvZGUgdGVyIHVtYSBqYW5lbGEgY29sb2NhZGEgbmEgc3VhIOFyZWEgZGUgdHJhYmFsaG8gcGFkcuNvLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSw3MywyMjgsMjgKICAgIExURVhUICAgICAgICAgICAiVGFtYW5obyBkYSDhcmVhIGRlIHRyYWJhbGhvOiIsSURDX0RFU0tUT1BfU0laRSwxNSwxMTUsMTAwLDgsV1NfRElTQUJMRUQKICAgIExURVhUICAgICAgICAgICAiWCIsSURDX0RFU0tUT1BfQlksMTY0LDExNSw4LDgsV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAiRW11bGFyIHVtYSDhcmVhIGRlIHRyYWJhbGhvIHZpcnR1YWwiLElEQ19FTkFCTEVfREVTS1RPUCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDEwMCwyMjgsMTAKCQkgICAgCiAgICBFRElUVEVYVCAgICAgICAgSURDX0RFU0tUT1BfV0lEVEgsMTIwLDExNSw0MCwxMixFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUiB8IFdTX0RJU0FCTEVECiAgICBFRElUVEVYVCAgICAgICAgSURDX0RFU0tUT1BfSEVJR0hULDE3MywxMTUsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRApFTkQKCklERF9ETExDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiU29icmVlc2NyZXZlciBETExzIixJRENfU1RBVElDLDgsNCwyNDQsMjQwCiAgICBMVEVYVCAgICAgICAgICAgIkJpYmxpb3RlY2FzIHBvZGVtIHNlciBlc3BlY2lmaWNhZGFzIGluZGl2aWR1YWxtZW50ZSBjb21vICdidWlsdGluJyBvdSAnbmF0aXZlJy4gVW1hIGVudHJhZGEgRExMIGNvbW8gIiIqIiIg6SBwZXJ0aW5lbnRlIGEgdG9kYXMgYXMgRExMcyBu428gZXNwZWNpZmljYWRhcyBleHBsaWNpdGFtZW50ZS4iCiAgICAgICAgICAgICAgICAgICAgLCAgSURDX1NUQVRJQywxNSwxNywyMjgsMzIKICAgIENPTlRST0wgICAgICAgICAiU29icmVlc2NyZXZlciBETExzIiwgSURDX1RSRUVfRExMUywgIlN5c1RyZWVWaWV3MzIiLCBXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgVFZTX0xJTkVTQVRST09UIHwgVFZTX0hBU0xJTkVTIHwgVFZTX1NIT1dTRUxBTFdBWVMgfCBUVlNfSEFTQlVUVE9OUywgMTUsNTAsMTQyLDE4NwogICAgTFRFWFQgICAgICAgICAgICJPcmRlbSBkZSBjYXJnYToiLElEQ19TVEFUSUMsMTYzLDUwLDYwLDgKICAgIENPTlRST0wgICAgICAgICAiQnVpbHRpbiAoV2luZSkiLElEQ19SQURfQlVJTFRJTiwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAsMTYzLDY1LDc1LDEwCiAgICBDT05UUk9MICAgICAgICAgIk5hdGl2ZSAoV2luZG93cykiLElEQ19SQURfTkFUSVZFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYzLDgwLDc1LDEwCiAgICBDT05UUk9MICAgICAgICAgIkJ1aWx0aW4sIE5hdGl2ZSIsSURDX1JBRF9CVUlMVElOX05BVElWRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2Myw5NSw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICJOYXRpdmUsIEJ1aWx0aW4iLElEQ19SQURfTkFUSVZFX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNjMsMTEwLDc1LDEwCiAgICBDT05UUk9MICAgICAgICAgIkRlc2FiaWxpdGFkYSIsSURDX1JBRF9ESVNBQkxFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYzLDEyNSw3NSwxMAogICAgUFVTSEJVVFRPTgkgICAgIkFkaWNpb25hciBhcGxpY2Hn428uLi4iLElEQ19ETExTX0FEREFQUCwxNjMsMTQ0LDgyLDE0CiAgICBQVVNIQlVUVE9OCSAgICAiUmVtb3ZlciBhcGxpY2Hn428iLElEQ19ETExTX1JFTU9WRUFQUCwgMTYzLDE2NCw4MiwxNAogICAgUFVTSEJVVFRPTgkgICAgIkFkaWNpb25hciBjYXJnYSBkZSBETEw6IixJRENfRExMU19BRERETEwsIDE2MywxODQsODIsMTQKICAgIENPTUJPQk9YICAgICAgICBJRENfRExMTElTVCwxNjMsMjA0LDgyLDE0LENCU19EUk9QRE9XTiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NPUlQgfCBDQlNfTE9XRVJDQVNFCiAgICBQVVNIQlVUVE9OCSAgICAiUmVtb3ZlciBjYXJnYSBkZSBETEwiLElEQ19ETExTX1JFTU9WRURMTCwxNjMsMjI0LDgyLDE0CkVORAoKSUREX1NZU1RFTUNGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiVW5pZGFkZXMiLElEQ19TVEFUSUMsOCw0LDI0NCwxMjAKICAgIExJU1RCT1ggICAgICAgICBJRENfTElTVF9EUklWRVMsMTUsMjMsMTc5LDkwLFdTX1ZTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiJkFkaWNpb25hciIsSURDX0RSSVZFX0FERCwxOTcsMjIsNTAsMjIKICAgIFBVU0hCVVRUT04gICAgICAiJlJlbW92ZXIiLElEQ19EUklWRV9SRU1PVkUsMTk3LDUxLDUwLDIyCiAgICBQVVNIQlVUVE9OICAgICAgIiZFZGl0YXIiLElEQ19EUklWRV9FRElULDE5Nyw4MCw1MCwyMgpFTkQKCklERF9EUklWRUNGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICJPdXRyYXMgdW5pZGFkZXMiLElEQ19TVEFUSUMsNywxMDcsMjQ2LDExMgogICAgTElTVEJPWCAgICAgICAgIElEQ19MSVNUX0RSSVZFUywxNCwxMTgsMjMyLDc2LExCU19TT1JUIHwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICJBZGljaW9uYXIuLi4iLElEQ19CVVRUT05fQURELDE0LDE5OSwzNywxNAogICAgUFVTSEJVVFRPTiAgICAgICJSZW1vdmVyIixJRENfQlVUVE9OX1JFTU9WRSw1NSwxOTksMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiRWRpdGFyLi4uIixJRENfQlVUVE9OX0VESVQsOTcsMTk5LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkF1dG9kZXRlY3Rhci4uLiIsSURDX0JVVFRPTl9BVVRPREVURUNULDE5NywxOTksNDksMTQKICAgIExURVhUCSAgICAiQVZJU086IFBhcmVjZSBxdWUgdm9j6iBu428gdGVtIHVtYSB1bmlkYWRlIEMgZGVmaW5pZGEuIENsaXF1ZSBlbSAnQWRpY2lvbmFyJyBwYXJhIGFkaWNpb25hciB1bWEuIiwgSURTX0RSSVZFX05PX0MsIDcsMjIzLDI1MCwxMTAKRU5ECgpJRERfRFJJVkVfRURJVCBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDIwMywgMTY5ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkNvbmZpZ3VyYefjbyBkZSB1bmlkYWRlIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBERUZQVVNIQlVUVE9OICAgIiZPSyIsSURfQlVUVE9OX09LLDE0NSwxNTAsNTAsMTMKICAgIExURVhUICAgICAgICAgICAiTGV0cmE6IixJRENfU1RBVElDLDUsMjMsMjYsOQogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0xBQkVMLDYzLDExNCw3OCwxMyxFU19BVVRPSFNDUk9MTAogICAgTFRFWFQgICAgICAgICAgICJS83R1bG86IixJRENfU1RBVElDX0xBQkVMLDMzLDExNywyOSwxMgogICAgTFRFWFQgICAgICAgICAgICJT6XJpZToiLElEQ19TVEFUSUNfU0VSSUFMLDMzLDEyNywyOSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1NFUklBTCw2MywxMjQsNzgsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIExURVhUICAgICAgICAgICAiVGlwbzoiLElEQ19TVEFUSUMsNSw1NCwyMSwxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1BBVEgsMzEsNSwxMTcsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIExURVhUICAgICAgICAgICAiQ2FtaW5obzoiLElEQ19TVEFUSUMsNSwxMCwyMCw5CiAgICBDT01CT0JPWCAgICAgICAgSURDX0NPTUJPX0xFVFRFUiwzMSwyMCw3Nyw2MCxDQlNfRFJPUERPV05MSVNUICB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIlByb2N1cmFyLi4uIixJRENfQlVUVE9OX0JST1dTRV9QQVRILDE1NCw1LDQwLDEzCiAgICBDT01CT0JPWCAgICAgICAgSURDX0NPTUJPX1RZUEUsMzEsMzYsNzcsNjAsQ0JTX0RST1BET1dOTElTVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIk1vc3RyYXIgQXZhbudhZG8iLElEQ19CVVRUT05fU0hPV19ISURFX0FEVkFOQ0VELDEzNCwzNCw2MCwxNgogICAgQ09OVFJPTCAgICAgICAgICJBdXRvZGV0ZWN0YXIgZG8gZGlzcG9zaXRpdm86IixJRENfUkFESU9fQVVUT0RFVEVDVCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMjEsNzksOTMsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9ERVZJQ0UsMzMsODksMTA4LDEzLEVTX0FVVE9IU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIlByb2N1cmFyLi4uIixJRENfQlVUVE9OX0JST1dTRV9ERVZJQ0UsMTQ4LDg5LDQwLDEzCiAgICBDT05UUk9MICAgICAgICAgIkFzc29jaWFyIG1hbnVhbG1lbnRlOiIsSURDX1JBRElPX0FTU0lHTiwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04sMjEsMTA0LDY5LDEwCiAgICBHUk9VUEJPWCAgICAgICAgIlLzdHVsbyBlIG76bWVybyBkZSBz6XJpZSIsSURDX0JPWF9MQUJFTFNFUklBTCw2LDY4LDE4OSw3OQpFTkQKCklERF9BVURJT0NGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQJIkRyaXZlciBkZSDhdWRpbzogIixJRENfU1RBVElDLDEwLDIwLDYwLDgKICAgIENPTUJPQk9YCUlEQ19BVURJT19EUklWRVIsNzAsMTgsODUsODUsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OCSJBdXRvZGV0ZWN0YXIiLElEQ19BVURJT19BVVRPREVURUNULDE3MCwyMCw0OSwxNApFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFIApCRUdJTgogICAgSURTX1dJTkVfVkVSU0lPTiAgICAgICAgIkNWUyIKICAgIElEU19UQUJfR0VORVJBTCAgICAgICAgICJHZXJhbCIKICAgIElEU19UQUJfRExMUyAgICAgICAgICAgICJCaWJsaW90ZWNhcyIKICAgIElEU19UQUJfRFJJVkVTICAgICAgICAgICJVbmlkYWRlcyIKRU5ECg==