LyoKICoJT0xFMk5MUyBsaWJyYXJ5CiAqICAgICAgSHVuZ2FyaWFuCiAqCShIdW5nYXJpYW4gc3RyaW5ncyBpbiBjcDEyNTApCiAqCiAqIENvcHlyaWdodCAxOTk4IE1hcmNlbCBCYXVyCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKi8KCkxPQ1ZBTChMT0NBTEVfSUxBTkdVQUdFLCIwNDBlIikKTE9DVkFMKExPQ0FMRV9TTEFOR1VBR0UsIk1hZ3lhciIpCkxPQ1ZBTChMT0NBTEVfU0VOR0xBTkdVQUdFLCJIdW5nYXJpYW4iKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZMQU5HTkFNRSwiaHVuIikKTE9DVkFMKExPQ0FMRV9TTkFUSVZFTEFOR05BTUUsIk1hZ3lhciIpCkxPQ1ZBTChMT0NBTEVfSUNPVU5UUlksIjM2IikKTE9DVkFMKExPQ0FMRV9TQ09VTlRSWSwiTWFneWFyb3JzeuFnIikKTE9DVkFMKExPQ0FMRV9TRU5HQ09VTlRSWSwiSHVuZ2FyeSIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkNUUllOQU1FLCJIVU4iKQpMT0NWQUwoTE9DQUxFX1NOQVRJVkVDVFJZTkFNRSwiTWFneWFyb3JzeuFnIikKTE9DVkFMKExPQ0FMRV9JREVGQVVMVExBTkdVQUdFLCIwNDBlIikKTE9DVkFMKExPQ0FMRV9JREVGQVVMVENPVU5UUlksIjM2IikKTE9DVkFMKExPQ0FMRV9JREVGQVVMVENPREVQQUdFLCI4NTIiKQpMT0NWQUwoTE9DQUxFX0lERUZBVUxUQU5TSUNPREVQQUdFLCIxMjUwIikKTE9DVkFMKExPQ0FMRV9JREVGQVVMVE1BQ0NPREVQQUdFLCIxMDAyOSIpCkxPQ1ZBTChMT0NBTEVfU0xJU1QsIjsiKQpMT0NWQUwoTE9DQUxFX0lNRUFTVVJFLCIwIikKTE9DVkFMKExPQ0FMRV9TREVDSU1BTCwiLCIpCkxPQ1ZBTChMT0NBTEVfU1RIT1VTQU5ELCIgIikKTE9DVkFMKExPQ0FMRV9TR1JPVVBJTkcsIjM7MCIpCkxPQ1ZBTChMT0NBTEVfSURJR0lUUywiMiIpCkxPQ1ZBTChMT0NBTEVfSUxaRVJPLCIxIikKLyogTE9DVkFMKExPQ0FMRV9JTkVHTlVNQkVSKSAqLwpMT0NWQUwoTE9DQUxFX1NOQVRJVkVESUdJVFMsICIwMTIzNDU2Nzg5IikKTE9DVkFMKExPQ0FMRV9TQ1VSUkVOQ1ksIkZ0IikKTE9DVkFMKExPQ0FMRV9TSU5UTFNZTUJPTCwiSFVGIikKTE9DVkFMKExPQ0FMRV9TTU9OREVDSU1BTFNFUCwiLCIpCkxPQ1ZBTChMT0NBTEVfU01PTlRIT1VTQU5EU0VQLCIgIikKTE9DVkFMKExPQ0FMRV9TTU9OR1JPVVBJTkcsIjM7MCIpCkxPQ1ZBTChMT0NBTEVfSUNVUlJESUdJVFMsIjIiKQpMT0NWQUwoTE9DQUxFX0lJTlRMQ1VSUkRJR0lUUywiMiIpCkxPQ1ZBTChMT0NBTEVfSUNVUlJFTkNZLCIzIikKTE9DVkFMKExPQ0FMRV9JTkVHQ1VSUiwiOCIpCkxPQ1ZBTChMT0NBTEVfU0RBVEUsIi4iKQpMT0NWQUwoTE9DQUxFX1NUSU1FLCI6IikKTE9DVkFMKExPQ0FMRV9TU0hPUlREQVRFLCJ5eXl5LiBNTS4gZGQuIikKTE9DVkFMKExPQ0FMRV9TTE9OR0RBVEUsInl5eXkuIE1NTU0gZC4iKQpMT0NWQUwoTE9DQUxFX1NUSU1FRk9STUFULCJIOm1tOnNzIikKTE9DVkFMKExPQ0FMRV9JREFURSwiMiIpCkxPQ1ZBTChMT0NBTEVfSUxEQVRFLCIyIikKTE9DVkFMKExPQ0FMRV9JVElNRSwiMSIpCkxPQ1ZBTChMT0NBTEVfSVRJTUVNQVJLUE9TTiwiMSIpCkxPQ1ZBTChMT0NBTEVfSUNFTlRVUlksIjAiKQpMT0NWQUwoTE9DQUxFX0lUTFpFUk8sIjAiKQpMT0NWQUwoTE9DQUxFX0lEQVlMWkVSTywiMSIpCkxPQ1ZBTChMT0NBTEVfSU1PTkxaRVJPLCIxIikKTE9DVkFMKExPQ0FMRV9TMTE1OSwiREUiKQpMT0NWQUwoTE9DQUxFX1MyMzU5LCJEVSIpCkxPQ1ZBTChMT0NBTEVfSUNBTEVOREFSVFlQRSwgIjEiKQovKiBMT0NWQUwoTE9DQUxFX0lPUFRJT05BTENBTEVOREFSKSAqLwovKiBMT0NWQUwoTE9DQUxFX0lGSVJTVERBWU9GV0VFSykgKi8KLyogTE9DVkFMKExPQ0FMRV9JRklSU1RXRUVLT0ZZRUFSKSAqLwoKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTEsImjpdGb1IikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTIsImtlZGQiKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FMywic3plcmRhIikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTQsImNz/HT2cnT2ayIpCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUU1LCJw6W50ZWsiKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FNiwic3pvbWJhdCIpCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUU3LCJ2YXPhcm5hcCIpCgpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FMSwiSCIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUUyLCJLIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWREFZTkFNRTMsIlN6ZSIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU0LCJDcyIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU1LCJQIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWREFZTkFNRTYsIlN6byIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU3LCJWIikKCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEsImphbnXhciIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTIsImZlYnJ14XIiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUzLCJt4XJjaXVzIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FNCwi4XByaWxpcyIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTUsIm3hanVzIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FNiwiavpuaXVzIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FNywiavpsaXVzIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FOCwiYXVndXN6dHVzIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FOSwic3plcHRlbWJlciIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEwLCJva3TzYmVyIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMTEsIm5vdmVtYmVyIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMTIsImRlY2VtYmVyIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMTMsIiIpCgpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUxLCJqYW4uIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMiwiZmVici4iKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUzLCJt4XJjLiIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTQsIuFwci4iKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUU1LCJt4WouIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNiwiavpuLiIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTcsImr6bC4iKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUU4LCJhdWcuIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FOSwic3plcHQuIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMTAsIm9rdC4iKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUxMSwibm92LiIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTEyLCJkZWMuIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMTMsIiIpCgpMT0NWQUwoTE9DQUxFX1NQT1NJVElWRVNJR04sIiIpCkxPQ1ZBTChMT0NBTEVfU05FR0FUSVZFU0lHTiwiLSIpCkxPQ1ZBTChMT0NBTEVfSVBPU1NJR05QT1NOLCIxIikKTE9DVkFMKExPQ0FMRV9JTkVHU0lHTlBPU04sIjEiKQpMT0NWQUwoTE9DQUxFX0lQT1NTWU1QUkVDRURFUywiMCIpCkxPQ1ZBTChMT0NBTEVfSVBPU1NFUEJZU1BBQ0UsIjEiKQpMT0NWQUwoTE9DQUxFX0lORUdTWU1QUkVDRURFUywiMCIpCkxPQ1ZBTChMT0NBTEVfSU5FR1NFUEJZU1BBQ0UsIjEiKQpMT0NWQUwoTE9DQUxFX0ZPTlRTSUdOQVRVUkUsIiIpCkxPQ1ZBTChMT0NBTEVfU0lTTzYzOUxBTkdOQU1FLCJodSIpCkxPQ1ZBTChMT0NBTEVfU0lTTzMxNjZDVFJZTkFNRSwiSFUiKQo=