LyoKICoJT0xFMk5MUyBsaWJyYXJ5CiAqICAgICAgU2xvdmFraWEKICoJKFNsb3Zha2lhbiBzdHJpbmdzIGluIGNwMTI1MCkKICoKICogQ29weXJpZ2h0IDE5OTggTWFyY2VsIEJhdXIKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCiAqLwoKTE9DVkFMKExPQ0FMRV9JTEFOR1VBR0UsIjA0MWIiKQpMT0NWQUwoTE9DQUxFX1NMQU5HVUFHRSwiU2xvdmVu6GluYSIpCkxPQ1ZBTChMT0NBTEVfU0VOR0xBTkdVQUdFLCJTbG92YWsiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZMQU5HTkFNRSwic2t5IikKTE9DVkFMKExPQ0FMRV9TTkFUSVZFTEFOR05BTUUsInNsb3ZlbuhpbmEiKQpMT0NWQUwoTE9DQUxFX0lDT1VOVFJZLCAiNDIiKQpMT0NWQUwoTE9DQUxFX1NDT1VOVFJZLCJTbG92ZW5za28iKQpMT0NWQUwoTE9DQUxFX1NFTkdDT1VOVFJZLCJTbG92YWtpYSIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkNUUllOQU1FLCJTVksiKQpMT0NWQUwoTE9DQUxFX1NOQVRJVkVDVFJZTkFNRSwiU2xvdmVuc2vhIFJlcHVibGlrYSIpCkxPQ1ZBTChMT0NBTEVfSURFRkFVTFRMQU5HVUFHRSwiMDQxYiIpCkxPQ1ZBTChMT0NBTEVfSURFRkFVTFRDT1VOVFJZLCAiNDIiKQpMT0NWQUwoTE9DQUxFX0lERUZBVUxUQ09ERVBBR0UsIjg5NSIpCkxPQ1ZBTChMT0NBTEVfSURFRkFVTFRBTlNJQ09ERVBBR0UsIjEyNTAiKQpMT0NWQUwoTE9DQUxFX0lERUZBVUxUTUFDQ09ERVBBR0UsIjEwMDI5IikKTE9DVkFMKExPQ0FMRV9TTElTVCwgIjsiKQpMT0NWQUwoTE9DQUxFX0lNRUFTVVJFLCAiMCIpCkxPQ1ZBTChMT0NBTEVfU0RFQ0lNQUwsICIsIikKTE9DVkFMKExPQ0FMRV9TVEhPVVNBTkQsICKgIikKTE9DVkFMKExPQ0FMRV9TR1JPVVBJTkcsICIzOzAiKQpMT0NWQUwoTE9DQUxFX0lESUdJVFMsICIyIikKTE9DVkFMKExPQ0FMRV9JTFpFUk8sICIxIikKTE9DVkFMKExPQ0FMRV9JTkVHTlVNQkVSLCAiMSIpCkxPQ1ZBTChMT0NBTEVfU05BVElWRURJR0lUUywgIjAxMjM0NTY3ODkiKQpMT0NWQUwoTE9DQUxFX1NDVVJSRU5DWSwgIlNrIikKTE9DVkFMKExPQ0FMRV9TSU5UTFNZTUJPTCwiU0tLIikKTE9DVkFMKExPQ0FMRV9TTU9OREVDSU1BTFNFUCwgIiwiKQpMT0NWQUwoTE9DQUxFX1NNT05USE9VU0FORFNFUCwgIqAiKQpMT0NWQUwoTE9DQUxFX1NNT05HUk9VUElORywgIjM7MCIpCkxPQ1ZBTChMT0NBTEVfSUNVUlJESUdJVFMsICIyIikKTE9DVkFMKExPQ0FMRV9JSU5UTENVUlJESUdJVFMsICIyIikKTE9DVkFMKExPQ0FMRV9JQ1VSUkVOQ1ksICIzIikKTE9DVkFMKExPQ0FMRV9JTkVHQ1VSUiwgIjgiKQpMT0NWQUwoTE9DQUxFX1NEQVRFLCAiLiIpCkxPQ1ZBTChMT0NBTEVfU1RJTUUsICI6IikKTE9DVkFMKExPQ0FMRV9TU0hPUlREQVRFLCAiZC5NLnl5eXkiKQpMT0NWQUwoTE9DQUxFX1NMT05HREFURSwgImQuIE1NTU0geXl5eSIpCkxPQ1ZBTChMT0NBTEVfU1RJTUVGT1JNQVQsICJIOm1tOnNzIikKTE9DVkFMKExPQ0FMRV9JREFURSwgIjEiKQpMT0NWQUwoTE9DQUxFX0lMREFURSwgIjEiKQpMT0NWQUwoTE9DQUxFX0lUSU1FLCIxIikKTE9DVkFMKExPQ0FMRV9JVElNRU1BUktQT1NOLCAiMCIpCkxPQ1ZBTChMT0NBTEVfSUNFTlRVUlksICIxIikKTE9DVkFMKExPQ0FMRV9JVExaRVJPLCIxIikKTE9DVkFMKExPQ0FMRV9JREFZTFpFUk8sICIwIikKTE9DVkFMKExPQ0FMRV9JTU9OTFpFUk8sICIwIikKTE9DVkFMKExPQ0FMRV9TMTE1OSwgIiIpCkxPQ1ZBTChMT0NBTEVfUzIzNTksICIiKQpMT0NWQUwoTE9DQUxFX0lDQUxFTkRBUlRZUEUsICIxIikKTE9DVkFMKExPQ0FMRV9JT1BUSU9OQUxDQUxFTkRBUiwgIjAiKQpMT0NWQUwoTE9DQUxFX0lGSVJTVERBWU9GV0VFSywgIjAiKQpMT0NWQUwoTE9DQUxFX0lGSVJTVFdFRUtPRllFQVIsICIwIikKCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUUxLCAicG9uZGVsb2siKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FMiwgInV0b3JvayIpCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUUzLCAic3RyZWRhIikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTQsICKadHZydG9rIikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTUsICJwaWF0b2siKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FNiwgInNvYm90YSIpCkxPQ1ZBTChMT0NBTEVfU0RBWU5BTUU3LCAibmVkZb5hIikKCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUUxLCAicG8iKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FMiwgInV0IikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWREFZTkFNRTMsICJzdCIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU0LCAimnQiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FNSwgInBpIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWREFZTkFNRTYsICJzbyIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVkRBWU5BTUU3LCAibmUiKQoKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMSwgImphbnXhciIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTIsICJmZWJydeFyIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMywgIm1hcmVjIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FNCwgImFwcu1sIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FNSwgIm3haiIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTYsICJq+m4iKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU3LCAiavpsIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FOCwgImF1Z3VzdCIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTksICJzZXB0ZW1iZXIiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUxMCwgIm9rdPNiZXIiKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUxMSwgIm5vdmVtYmVyIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMTIsICJkZWNlbWJlciIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEzLCAiIikKCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTEsICJJIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMiwgIklJIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMywgIklJSSIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTQsICJJViIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTUsICJWIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNiwgIlZJIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNywgIlZJSSIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTgsICJWSUlJIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FOSwgIklYIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMTAsICJYIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMTEsICJYSSIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTEyLCAiWElJIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMTMsICIiKQoKTE9DVkFMKExPQ0FMRV9TUE9TSVRJVkVTSUdOLCAiIikKTE9DVkFMKExPQ0FMRV9TTkVHQVRJVkVTSUdOLCAiLSIpCkxPQ1ZBTChMT0NBTEVfSVBPU1NJR05QT1NOLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSU5FR1NJR05QT1NOLCAiMSIpCkxPQ1ZBTChMT0NBTEVfSVBPU1NZTVBSRUNFREVTLCAiMCIpCkxPQ1ZBTChMT0NBTEVfSVBPU1NFUEJZU1BBQ0UsICIxIikKTE9DVkFMKExPQ0FMRV9JTkVHU1lNUFJFQ0VERVMsICIwIikKTE9DVkFMKExPQ0FMRV9JTkVHU0VQQllTUEFDRSwgIjEiKQpMT0NWQUwoTE9DQUxFX0ZPTlRTSUdOQVRVUkUsICInIikKTE9DVkFMKExPQ0FMRV9TSVNPNjM5TEFOR05BTUUsICJzayIpCkxPQ1ZBTChMT0NBTEVfU0lTTzMxNjZDVFJZTkFNRSwgIlNLIikK