LyoKICoJT0xFMk5MUyBsaWJyYXJ5CiAqICAgICAgQ29ybmlzaCwgVW5pdGVkIEtpbmdkb20KICoKICogQ29weXJpZ2h0IDE5OTggTWFyY2VsIEJhdXIKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCiAqLwoKTE9DVkFMKExPQ0FMRV9JTEFOR1VBR0UsICIwNDg5MSIpCkxPQ1ZBTChMT0NBTEVfU0xBTkdVQUdFLCAiQ29ybmlzaCAoVW5pdGVkIEtpbmdkb20pIikKTE9DVkFMKExPQ0FMRV9TRU5HTEFOR1VBR0UsICJDb3JuaXNoIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTEFOR05BTUUsICJjb3IiKQpMT0NWQUwoTE9DQUxFX1NOQVRJVkVMQU5HTkFNRSwgIktlcm5ld2VrIikKTE9DVkFMKExPQ0FMRV9JQ09VTlRSWSwgIjQ0IikKTE9DVkFMKExPQ0FMRV9TQ09VTlRSWSwgIlVuaXRlZCBLaW5nZG9tIikKTE9DVkFMKExPQ0FMRV9TRU5HQ09VTlRSWSwgIlVuaXRlZCBLaW5nZG9tIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWQ1RSWU5BTUUsICJHQlIiKQpMT0NWQUwoTE9DQUxFX1NOQVRJVkVDVFJZTkFNRSwgIlVuaXRlZCBLaW5nZG9tIikKTE9DVkFMKExPQ0FMRV9JREVGQVVMVExBTkdVQUdFLCAiMDQwOSIpCkxPQ1ZBTChMT0NBTEVfSURFRkFVTFRDT1VOVFJZLCAiNDQiKQpMT0NWQUwoTE9DQUxFX0lERUZBVUxUQ09ERVBBR0UsICI4NTAiKQpMT0NWQUwoTE9DQUxFX0lERUZBVUxUQU5TSUNPREVQQUdFLCAiMTI1MiIpCkxPQ1ZBTChMT0NBTEVfU0xJU1QsICIsIikKTE9DVkFMKExPQ0FMRV9JTUVBU1VSRSwgIjAiKQpMT0NWQUwoTE9DQUxFX1NERUNJTUFMLCAiLiIpCkxPQ1ZBTChMT0NBTEVfU1RIT1VTQU5ELCAiLCIpCkxPQ1ZBTChMT0NBTEVfU0dST1VQSU5HLCAiMzswIikKTE9DVkFMKExPQ0FMRV9JRElHSVRTLCAiMiIpCkxPQ1ZBTChMT0NBTEVfSUxaRVJPLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSU5FR05VTUJFUiwgIjEiKQpMT0NWQUwoTE9DQUxFX1NOQVRJVkVESUdJVFMsICIwMTIzNDU2Nzg5IikKTE9DVkFMKExPQ0FMRV9TQ1VSUkVOQ1ksICKjIikKTE9DVkFMKExPQ0FMRV9TSU5UTFNZTUJPTCwgIkdCUCIpCkxPQ1ZBTChMT0NBTEVfU01PTkRFQ0lNQUxTRVAsICIuIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhPVVNBTkRTRVAsICIsIikKTE9DVkFMKExPQ0FMRV9TTU9OR1JPVVBJTkcsICIzOzAiKQpMT0NWQUwoTE9DQUxFX0lDVVJSRElHSVRTLCAiMiIpCkxPQ1ZBTChMT0NBTEVfSUlOVExDVVJSRElHSVRTLCAiMiIpCkxPQ1ZBTChMT0NBTEVfSUNVUlJFTkNZLCAiMCIpCkxPQ1ZBTChMT0NBTEVfSU5FR0NVUlIsICIxIikKTE9DVkFMKExPQ0FMRV9TREFURSwgIi8iKQpMT0NWQUwoTE9DQUxFX1NUSU1FLCAiOiIpCkxPQ1ZBTChMT0NBTEVfU1NIT1JUREFURSwgImRkL01NL3l5IikKTE9DVkFMKExPQ0FMRV9TTE9OR0RBVEUsICJkZCBNTU1NIHl5eXkiKQpMT0NWQUwoTE9DQUxFX1NUSU1FRk9STUFULCAiSEg6bW06c3MiKQpMT0NWQUwoTE9DQUxFX0lEQVRFLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSUxEQVRFLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSVRJTUUsICIxIikKTE9DVkFMKExPQ0FMRV9JVElNRU1BUktQT1NOLCAiMCIpCkxPQ1ZBTChMT0NBTEVfSUNFTlRVUlksICIwIikKTE9DVkFMKExPQ0FMRV9JVExaRVJPLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSURBWUxaRVJPLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSU1PTkxaRVJPLCAiMSIpCkxPQ1ZBTChMT0NBTEVfUzExNTksICJBTSIpCkxPQ1ZBTChMT0NBTEVfUzIzNTksICJQTSIpCkxPQ1ZBTChMT0NBTEVfSUNBTEVOREFSVFlQRSwgIjEiKQpMT0NWQUwoTE9DQUxFX0lPUFRJT05BTENBTEVOREFSLCAiMCIpCkxPQ1ZBTChMT0NBTEVfSUZJUlNUREFZT0ZXRUVLLCAiMCIpCkxPQ1ZBTChMT0NBTEVfSUZJUlNUV0VFS09GWUVBUiwgIjAiKQoKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTEsICJEZSBMdW4iKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FMiwgIkRlIE1lcnRoIikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTMsICJEZSBNZXJoZXIiKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FNCwgIkRlIFlvdyIpCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUU1LCAiRGUgR3dlbmVyIikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTYsICJEZSBTYWRvcm4iKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FNywgIkRlIFN1bCIpCgpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FMSwgIkx1biIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUUyLCAiTXRoIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWREFZTkFNRTMsICJNaHIiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FNCwgIllvdyIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU1LCAiR3dlIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWREFZTkFNRTYsICJTYWQiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FNywgIlN1bCIpCgpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUxLCAiTXlzIEdlbnZlciIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTIsICJNeXMgV2hldnJlbCIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTMsICJNeXMgTWVydGgiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU0LCAiTXlzIEVicmVsIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FNSwgIk15cyBNZSIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTYsICJNeXMgRXZhbiIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTcsICJNeXMgR29ydGhlcmVuIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FOCwgIk15cyBFc3QiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU5LCAiTXlzIEd3eW5nYWxhIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMTAsICJNeXMgSGVkcmEiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUxMSwgIk15cyBEdSIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEyLCAiTXlzIEtldmFyZGh1IikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMTMsICIiKQoKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMSwgIkdlbiIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTIsICJXaGUiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUzLCAiTWVyIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNCwgIkViciIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTUsICJNZSIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTYsICJFdm4iKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUU3LCAiR29yIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FOCwgIkVzdCIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTksICJHd24iKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUxMCwgIkhlZCIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTExLCAiRHUiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUxMiwgIktldiIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTEzLCAiIikKCkxPQ1ZBTChMT0NBTEVfU1BPU0lUSVZFU0lHTiwgIiIpCkxPQ1ZBTChMT0NBTEVfU05FR0FUSVZFU0lHTiwgIi0iKQpMT0NWQUwoTE9DQUxFX0lQT1NTSUdOUE9TTiwgIjMiKQpMT0NWQUwoTE9DQUxFX0lORUdTSUdOUE9TTiwgIjMiKQpMT0NWQUwoTE9DQUxFX0lQT1NTWU1QUkVDRURFUywgIjEiKQpMT0NWQUwoTE9DQUxFX0lQT1NTRVBCWVNQQUNFLCAiMCIpCkxPQ1ZBTChMT0NBTEVfSU5FR1NZTVBSRUNFREVTLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSU5FR1NFUEJZU1BBQ0UsICIwIikKLyogTE9DVkFMKExPQ0FMRV9GT05UU0lHTkFUVVJFLCAiIikgKi8KTE9DVkFMKExPQ0FMRV9TSVNPNjM5TEFOR05BTUUsImt3IikKTE9DVkFMKExPQ0FMRV9TSVNPMzE2NkNUUllOQU1FLCJHQiIpCg==