LyoKICoJT0xFMk5MUyBsaWJyYXJ5CiAqICAgICAgTWFueCBHYWVsaWMsIFVuaXRlZCBLaW5nZG9tCiAqCiAqIENvcHlyaWdodCAxOTk4IE1hcmNlbCBCYXVyCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKi8KCkxPQ1ZBTChMT0NBTEVfSUxBTkdVQUdFLCAiMGMzYyIpCkxPQ1ZBTChMT0NBTEVfU0xBTkdVQUdFLCAiR2FlbGcgKE1hbm5pbm4pIikKTE9DVkFMKExPQ0FMRV9TRU5HTEFOR1VBR0UsICJNYW54IEdhZWxpYyIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkxBTkdOQU1FLCAiZ2R2IikKTE9DVkFMKExPQ0FMRV9TTkFUSVZFTEFOR05BTUUsICJHYWVsZyIpCkxPQ1ZBTChMT0NBTEVfSUNPVU5UUlksICI0NCIpCkxPQ1ZBTChMT0NBTEVfU0NPVU5UUlksICJNYW5uaW5uIikKTE9DVkFMKExPQ0FMRV9TRU5HQ09VTlRSWSwgIklzbGUgb2YgTWFuIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWQ1RSWU5BTUUsICJHQlIiKQpMT0NWQUwoTE9DQUxFX1NOQVRJVkVDVFJZTkFNRSwgIk1hbm5pbm4iKQpMT0NWQUwoTE9DQUxFX0lERUZBVUxUTEFOR1VBR0UsICIwNDA5IikKTE9DVkFMKExPQ0FMRV9JREVGQVVMVENPVU5UUlksICI0NCIpCkxPQ1ZBTChMT0NBTEVfSURFRkFVTFRDT0RFUEFHRSwgIjg1MCIpCkxPQ1ZBTChMT0NBTEVfSURFRkFVTFRBTlNJQ09ERVBBR0UsICIxMjUyIikKTE9DVkFMKExPQ0FMRV9TTElTVCwgIiwiKQpMT0NWQUwoTE9DQUxFX0lNRUFTVVJFLCAiMCIpCkxPQ1ZBTChMT0NBTEVfU0RFQ0lNQUwsICIuIikKTE9DVkFMKExPQ0FMRV9TVEhPVVNBTkQsICIsIikKTE9DVkFMKExPQ0FMRV9TR1JPVVBJTkcsICIzOzAiKQpMT0NWQUwoTE9DQUxFX0lESUdJVFMsICIyIikKTE9DVkFMKExPQ0FMRV9JTFpFUk8sICIxIikKTE9DVkFMKExPQ0FMRV9JTkVHTlVNQkVSLCAiMSIpCkxPQ1ZBTChMT0NBTEVfU05BVElWRURJR0lUUywgIjAxMjM0NTY3ODkiKQpMT0NWQUwoTE9DQUxFX1NDVVJSRU5DWSwgIqMiKQpMT0NWQUwoTE9DQUxFX1NJTlRMU1lNQk9MLCAiR0JQIikKTE9DVkFMKExPQ0FMRV9TTU9OREVDSU1BTFNFUCwgIi4iKQpMT0NWQUwoTE9DQUxFX1NNT05USE9VU0FORFNFUCwgIiwiKQpMT0NWQUwoTE9DQUxFX1NNT05HUk9VUElORywgIjM7MCIpCkxPQ1ZBTChMT0NBTEVfSUNVUlJESUdJVFMsICIyIikKTE9DVkFMKExPQ0FMRV9JSU5UTENVUlJESUdJVFMsICIyIikKTE9DVkFMKExPQ0FMRV9JQ1VSUkVOQ1ksICIwIikKTE9DVkFMKExPQ0FMRV9JTkVHQ1VSUiwgIjEiKQpMT0NWQUwoTE9DQUxFX1NEQVRFLCAiLyIpCkxPQ1ZBTChMT0NBTEVfU1RJTUUsICI6IikKTE9DVkFMKExPQ0FMRV9TU0hPUlREQVRFLCAiZGQvTU0veXkiKQpMT0NWQUwoTE9DQUxFX1NMT05HREFURSwgImRkIE1NTU0geXl5eSIpCkxPQ1ZBTChMT0NBTEVfU1RJTUVGT1JNQVQsICJISDptbTpzcyIpCkxPQ1ZBTChMT0NBTEVfSURBVEUsICIxIikKTE9DVkFMKExPQ0FMRV9JTERBVEUsICIxIikKTE9DVkFMKExPQ0FMRV9JVElNRSwgIjEiKQpMT0NWQUwoTE9DQUxFX0lUSU1FTUFSS1BPU04sICIwIikKTE9DVkFMKExPQ0FMRV9JQ0VOVFVSWSwgIjAiKQpMT0NWQUwoTE9DQUxFX0lUTFpFUk8sICIxIikKTE9DVkFMKExPQ0FMRV9JREFZTFpFUk8sICIxIikKTE9DVkFMKExPQ0FMRV9JTU9OTFpFUk8sICIxIikKTE9DVkFMKExPQ0FMRV9TMTE1OSwgIkFNIikKTE9DVkFMKExPQ0FMRV9TMjM1OSwgIlBNIikKTE9DVkFMKExPQ0FMRV9JQ0FMRU5EQVJUWVBFLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSU9QVElPTkFMQ0FMRU5EQVIsICIwIikKTE9DVkFMKExPQ0FMRV9JRklSU1REQVlPRldFRUssICIwIikKTE9DVkFMKExPQ0FMRV9JRklSU1RXRUVLT0ZZRUFSLCAiMCIpCgpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FMSwgIkplaGVpbiIpCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUUyLCAiSmVtYXlydCIpCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUUzLCAiSmVyY2VhbiIpCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUU0LCAiSmVyZGVpbiIpCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUU1LCAiSmVyaGVpbmV5IikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTYsICJKZXNhcm4iKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FNywgIkplZG9vbmVlIikKCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUUxLCAiSmVsdSIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUUyLCAiSmVtYSIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUUzLCAiSmVyYyIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU0LCAiSmVyZCIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU1LCAiSmVoZSIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU2LCAiSmVzYSIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU3LCAiSmVkbyIpCgpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUxLCAiSmVycmV5LWdldXJlZSIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTIsICJUb3NoaWFnaHQtYXJyZWUiKSAKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMywgIk1heXJudCIpIApMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU0LCAiQXZlcmlsIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FNSwgIkJvYWxkeW4iKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU2LCAiTWVhbi1zb3VyZWUiKQkKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FNywgIkplcnJleS1zb3VyZWUiKSAKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FOCwgIkx1YW5pc3R5biIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTksICJNZWFuLWZvdXJpciIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEwLCAiSmVycmV5LWZvdXlpciIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTExLCAiTWVlIEhvdW5leSIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEyLCAiTWVlIG55IE5vbGxpY2siKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUxMywgIiIpCgpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUxLCAiSi1ndWVyIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMiwgIlQtYXJyZWUiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUzLCAiTWF5cm50IikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNCwgIkF2ZXJpbCIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTUsICJCb2FsZHluIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNiwgIk0tc291cmVlIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNywgIkotc291cmVlIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FOCwgIkx1YW5pc3R5biIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTksICJNLWZvdXlpciIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTEwLCAiSi1mb3V5aXIiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUxMSwgIk0uSG91bmV5IikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMTIsICJNLk5vbGxpY2siKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUxMywgIiIpCgpMT0NWQUwoTE9DQUxFX1NQT1NJVElWRVNJR04sICIiKQpMT0NWQUwoTE9DQUxFX1NORUdBVElWRVNJR04sICItIikKTE9DVkFMKExPQ0FMRV9JUE9TU0lHTlBPU04sICIzIikKTE9DVkFMKExPQ0FMRV9JTkVHU0lHTlBPU04sICIzIikKTE9DVkFMKExPQ0FMRV9JUE9TU1lNUFJFQ0VERVMsICIxIikKTE9DVkFMKExPQ0FMRV9JUE9TU0VQQllTUEFDRSwgIjAiKQpMT0NWQUwoTE9DQUxFX0lORUdTWU1QUkVDRURFUywgIjEiKQpMT0NWQUwoTE9DQUxFX0lORUdTRVBCWVNQQUNFLCAiMCIpCkxPQ1ZBTChMT0NBTEVfU0lTTzYzOUxBTkdOQU1FLCJndiIpCkxPQ1ZBTChMT0NBTEVfU0lTTzMxNjZDVFJZTkFNRSwiR0IiKQo=