LyoKICogQ29weXJpZ2h0IDE5OTkgQWxleGFuZGVyIEthbmF2aW4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKLyoKICogV0FSTklORzogRE8gTk9UIENIQU5HRSBUSEUgU0laRSBPRiBUSEUgU1RBTkRBUkQgRElBTE9HIFRFTVBMQVRFUy4KICovCgpMQU5HVUFHRSBMQU5HX1JVU1NJQU4sIFNVQkxBTkdfREVGQVVMVAoKT1BFTl9GSUxFIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAizvLq8Pvy/CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJsjs/yD04Onr4DoiLCAxMDkwLCA2LCA2LCA3NiwgOQogRURJVFRFWFQgMTE1MiwgNiwgMTYsIDkwLCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBFU19PRU1DT05WRVJUIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogTElTVEJPWCAxMTIwLCA2LCAzMiwgOTAsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJsrg8uDr7uPoOiIsIC0xLCAxMTAsIDYsIDkyLCA5CiBMVEVYVCAiIiwgMTA4OCwgMTEwLCAxOCwgOTIsIDksIFNTX05PUFJFRklYIHwgV1NfR1JPVVAKIExJU1RCT1ggMTEyMSwgMTEwLCAzMiwgOTIsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiz+7q4Of74uDy/CD04Onr+yAm8ujv4DoiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiBDT01CT0JPWCAxMTM2LCA2LCAxMTQsIDkwLCAzNiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJsTo8eroOiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogQ09NQk9CT1ggMTEzNywgMTEwLCAxMTQsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAizvLq8Pvy/CIsIElET0ssIDIwOCwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLO8uzl7eAiLCBJRENBTkNFTCwgMjA4LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIibR7/Dg4urgIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICLSJu7r/OruIOTr/yD38uXt6P8iLCAxMDQwLCAyMDgsIDY4LCA1NCwgMjQsIEJTX0FVVE9DSEVDS0JPWCB8IEJTX01VTFRJTElORSAgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClNBVkVfRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gItHu9fDg7ejy/CDq4OogLi4uIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImyOz/IPTg6evgOiIsIDEwOTAsIDYsIDYsIDc2LCA5CiBFRElUVEVYVCAxMTUyLCA2LCAxNiwgOTAsIDEyLCBFU19BVVRPSFNDUk9MTCB8IEVTX09FTUNPTlZFUlQgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiBMSVNUQk9YIDExMjAsIDYsIDMyLCA5MCwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImyuDy4Ovu4+g6IiwgLTEsIDExMCwgNiwgOTIsIDkKIExURVhUICIiLCAxMDg4LCAxMTAsIDE4LCA5MiwgOSwgU1NfTk9QUkVGSVggfCBXU19HUk9VUAogTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICLP7urg5/vi4PL8IPTg6ev7ICby6O/gOiIsIDEwODksIDYsIDEwNCwgOTAsIDkKIENPTUJPQk9YIDExMzYsIDYsIDExNCwgOTAsIDM2LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImxOjx6ug6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiBDT01CT0JPWCAxMTM3LCAxMTAsIDExNCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICLR7vXw4O3o8vwg6uDqIiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIs7y7OXt4CIsIElEQ0FOQ0VMLCAyMDgsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJtHv8ODi6uAiLCAxMDM4LCAyMDgsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIibS7uv86u4g5Ov/IPfy5e3o/yIsIDEwNDAsIDIwOCwgNjgsIDU0LCAyNCwgQlNfQVVUT0NIRUNLQk9YIHwgQlNfTVVMVElMSU5FIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI2NCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIs/l9+Dy/CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiz/Do7fLl8DoiLCAxMDg4LCA2LCA2LCA0MCwgOQogTFRFWFQgIiIsIDEwODksIDYwLCA2LCAxNTAsIDkKIEdST1VQQk9YICLP5ffg8uDy/CIsIDEwNzIsIDYsIDMwLCAxNjAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIibC8eUiLCAxMDU2LCAxNiwgNDUsIDYwLCAxMgogUkFESU9CVVRUT04gIsIm++Tl6+Xt7fvpIPTw4OPs5e3yIiwgMTA1NywgMTYsIDYwLCA2MCwgMTIKIFJBRElPQlVUVE9OICIm0fLw4O3o9vsiLCAxMDU4LCAxNiwgNzUsIDYwLCAxMgogREVGUFVTSEJVVFRPTiAiz+X34PL8IiwgSURPSywgMjA2LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIs7y7OXt4CIsIElEQ0FOQ0VMLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAi0eLuJunx8uLgIiwgMTAyNCwgMjA2LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICIm8ToiLCAxMDkwLCA2MCwgODAsIDMwLCA5CiBMVEVYVCAiJu/uOiIsIDEwOTEsIDEyMCwgODAsIDMwLCA5CiBMVEVYVCAiJsrg9+Xx8uLuIO/l9+Dy6DoiLCAxMDkyLCA2LCAxMDAsIDc2LCA5CiBDT01CT0JPWCAxMTM2LCA4MCwgMTAwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICLPJuX34PL8IOIg9ODp6yIsIDEwNDAsIDIwLCAxMDAsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAi0ebg8u4iLCAxMDQxLCAxNjAsIDEwMCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UX1NFVFVQIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAizeDx8vDu6ergIO/w6O3y5fDgIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIEdST1VQQk9YICLP8Ojt8uXwIiwgMTA3MiwgNiwgMTAsIDE4MCwgNjUsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiz/Do7fLl8CDv7iAm8+zu6/fg7ej+IiwgMTA1NiwgMTYsIDIwLCA4MCwgMTIKIExURVhUICJb7eXyXSIsIDEwODgsIDM1LCAzNSwgMTIwLCA5CiBSQURJT0JVVFRPTiAiJsTw8+Pu6SDv8Ojt8uXwIiwgMTA1NywgMTYsIDUwLCA4MCwgMTIKIENPTUJPQk9YIDExMzYsIDM1LCA2NSwgMTQ5LCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAizvLs5e3gIiwgSURDQU5DRUwsIDIwNiwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImzeDx8vDu6ergIiwgMTAyNCwgMjA2LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICLO8Ojl7fLg9uj/IiwgMTA3MywgNiwgODUsIDEwMCwgNTAsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiJsrt6Obt4P8iLCAxMDU4LCA1MCwgMTAwLCA0MCwgMTIKIFJBRElPQlVUVE9OICImwOv84e7s7eD/IiwgMTA1OSwgNTAsIDExNSwgNDAsIDEyCiBJQ09OICJMQU5EU0NBUCIsIDEwOTcsIDEwLCA5NSwgMzIsIDMyCiBJQ09OICJQT1JUUkFJVCIsIDEwOTgsIDEwLCA5NSwgMzIsIDMyCiBHUk9VUEJPWCAiwfPs4OPgIiwgMTA3NCwgMTIwLCA4NSwgMTgwLCA1MCwgQlNfR1JPVVBCT1gKIExURVhUICLQ4Cbn7OXwIiwgMTA4OSwgMTMwLCA5NSwgMzAsIDkKIExURVhUICImyPHy7vft6OoiLCAxMDkwLCAxMzAsIDExMCwgMzAsIDkKIENPTUJPQk9YIDExMzcsIDE1NSwgOTUsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogQ09NQk9CT1ggMTEzOCwgMTU1LCAxMTAsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgoKQ0hPT1NFX0ZPTlQgRElBTE9HIERJU0NBUkRBQkxFICAxMywgNTQsIDI2NCwgMTQ3ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gItjw6PTyIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgICAgICAgICAiJtjw6PTyOiIsMTA4OCAsNiwzLDQwLDkKICAgIENPTUJPQk9YICAgICAgICAxMTM2ICw2LDEzLDk0LDU0LCAgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKICAgICAgICAgICAgICAgICAgICBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRQogICAgTFRFWFQgICAgICAgICAgICImzeD35fDy4O3o5ToiLDEwODkgLDEwOCwzLDQ0LDkKICAgIENPTUJPQk9YICAgICAgICAxMTM3LDEwOCwxMyw2NCw1NCwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKICAgIExURVhUICAgICAgICAgICAiJtDg5+zl8DoiLDEwOTAsMTc5LDMsMzAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzgsMTc5LDEzLDMyLDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRSB8IENCU19TT1JUCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDIxOCw2LDQwLDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AgfCBCU19ERUZQVVNIQlVUVE9OCiAgICBQVVNIQlVUVE9OICAgICAgIs7y7OXt4CIsSURDQU5DRUwsMjE4LDIzLDQwLDE0LFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImz/Do7OXt6PL8IiwgMTAyNiwyMTgsNDAsNDAsMTQsV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIibR7/Dg4urgIiAsIDEwMzgsMjE4LDU3LDQwLDE0LFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICLA8vDo4fPy+yIsMTA3Miw2LDcyLDg0LDM0LFdTX0dST1VQCiAgICBDSEVDS0JPWAkgICAgIibH4Pfl8Ort8/L76SIsIDEwNDAsIDEwLDgyLDc1LDEwLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiAgICBDSEVDS0JPWCAJICAgICLP7uQm9+Xw6u3z8vvpIiwgMTA0MSwgMTAsOTQsNzUsMTAsIEJTX0FVVE9DSEVDS0JPWAogICAgTFRFWFQgICAgICAgICAgICLWJuLl8joiLCAxMDkxICw2LDExMCwzMCw5CiAgICBDT01CT0JPWCAgICAgICAgMTEzOSw2LDEyMCw4NCwxMDAsQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwKCQkgICAgQ0JTX0FVVE9IU0NST0xMIHwgIFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIs7h8ODn5fYiLGdycDIsOTgsNzIsMTIwLDM2LFdTX0dST1VQCiAgICBDVEVYVCAgICAgICAgICAgIsDgweFBYUJiIixzdGM1LDEwMyw4MCwxMDksMjQsU1NfTk9QUkVGSVggfCBOT1QgV1NfVklTSUJMRQogICAgTFRFWFQgICAgICAgICAgICLN4Cbh7vAg8ejs4u7r7uI6IixzdGM3ICw5OCwxMTQsODAsOQogICAgQ09NQk9CT1ggICAgICAgIGNtYjUsOTgsMTI0LDEyMCw5MCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0hBU1NUUklOR1MgfAoJCSAgICBDQlNfQVVUT0hTQ1JPTEwgfCAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCn0KCgpDSE9PU0VfQ09MT1IgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAzMTAsIDE4NQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLI5+zl7eXt6OUg7+Dr6PLw+yIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJsHg5+7i4P8g7+Dr6PLw4DoiLCAgIDEwODgsIDQsICAgIDQsICAxNDAsIDEwCiBMVEVYVCAixO4m7+7r7ejy5ev87fvlIPbi5fLgOiIsICAxMDg5LCA0LCAgIDEwNiwgMTQwLCAxMAogTFRFWFQgItbi5fJ8x+Am6+ji6uAiLCAgMTA5MCwgMTUwLCAxNTEsICA0OCwgMTAKIExURVhUICAgIsrw4PEm7fvpOiIsIDcyNiAvKjEwOTQqLywyNTQsMTI2LDMyLDEwCiBFRElUVEVYVCA3MDYsIDI4OCwxMjQsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAiJsfl67jt++k6Iiw3MjcvKjEwOTUqLywyNTQsMTQwLDMyLDEwCiBFRElUVEVYVCA3MDcsIDI4OCwxMzgsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAi0Sbo7ejpOiIsNzI4IC8qMTA5NiovLDI2NCwxNTQsMjQsMTAKIEVESVRURVhUIDcwOCwgMjg4LDE1MiwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIs4m8vLl7e7qOiIgLDcyMyAvKjEwOTEqLywyMDIsMTI2LDMwLDEwCiBFRElUVEVYVCA3MDMsIDIzNCwxMjQsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICImyu7t8vDg8fI6IiAsNzI0IC8qMTA5MiovLDE5OSwxNDAsMzQsMTAKIEVESVRURVhUIDcwNCwgMjM0LDEzOCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIibf8Oru8fL8OiIgLDcyNSAvKjEwOTMqLywyMDIsMTU0LDMwLDEwCiBFRElUVEVYVCA3MDUsIDIzNCwxNTIsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ09OVFJPTCAiIiAsNzIwLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLDQsMTQsMTQwLDg2CiBDT05UUk9MICIiICw3MjEsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsNCwxMTYsMTQwLDI4CiBDT05UUk9MICIiICw3MTAsIlNUQVRJQyIsV1NfQk9SREVSfFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsNCwxMTgsMTE2CiBDT05UUk9MICIiICw3MDIsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDI3OCw0LDgsMTE2CiBDT05UUk9MICIiICw3MDksIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDE1MiwxMjQsNDAsMjYKIERFRlBVU0hCVVRUT04gIk9LIiwgIElET0ssICA0LCAxNjYsIDQ0LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAizvLs5e3gIiwgSURDQU5DRUwsIDUyLCAxNjYsIDQ0LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJD7/Dg4urgIiwgMTAzOCwxMDAsMTY2LCA0NCwgMTQKIFBVU0hCVVRUT04gIibE7uHg4ujy/CDiIO3g4e7wIiwgICAgNzEyLyoxMDI0Ki8sIDE1MiwgMTY2LCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIibO7/Dl5OXr6PL8IPbi5fIgPj4iLCA3MTkvKjEwMjUqLywgICA0LCAxNTAsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAgIiZpIiw3MTMsMzAwLDIwMCw0LDE0ICAgLyoganVzdCBhIGR1bW15OiAgJ2knIGlzICBsaWtlICAmaSAgaW4gInNvbCZpZCIgICovCn0KCgpGSU5ERExHT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjQ1LCA2MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLP7ujx6iIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJs7h8ODn5fY6IiwgLTEsIDQsIDgsIDQyLCA4CiBFRElUVEVYVCAxMTUyLCA0NywgNywgMTM4LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICIm0u7r/OruIPHr7uLuIPbl6+jq7uwiLCAxMDQwLCA0LCAyNiwgMTAwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQyAm8/fl8u7sIPDl4+jx8vDgIiwgMTA0MSwgNCwgNDIsIDEwMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICLN4O/w4OLr5e3o5SIsIDEwNzIsIDEwNywgMjYsIDc4LCAyOAogQ09OVFJPTCAiJsLi5fD1IiwgMTA1NiwgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTExLCAzOCwgNDAsIDEyCiBDT05UUk9MICLCJu3o5yIsIDEwNTcsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QLCAxNTIsIDM4LCAzMCwgMTIKCiBERUZQVVNIQlVUVE9OICImzeDp8ugg5ODr5eUiLCBJRE9LLCAxOTAsICA1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCB8IEJTX0RFRlBVU0hCVVRUT04KIFBVU0hCVVRUT04gIs7y7OXt4CIsIElEQ0FOQ0VMCSAsIDE5MCwgMjMsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICIm0e/w4OLq4CIsIHBzaEhlbHAJICwgMTkwLCA0NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClJFUExBQ0VETEdPUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyMzAsIDk0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIsfg7OXt4CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJs7h8ODn5fY6IiwgLTEsIDQsIDksIDQ4LCA4CiBFRElUVEVYVCAxMTUyLCA1NCwgNywgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICLHJuDs5e3o8vwg7eA6IiwgLTEsIDQsIDI2LCA0OCwgOAogRURJVFRFWFQgMTE1MywgNTQsIDI0LCAxMTQsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIibS7uv86u4g8evu4u4g9uXr6Oru7CIsIDEwNDAsIDUsIDQ2LCAxMDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICLRICbz97jy7uwg8OXj6PHy8OAiLCAxMDQxLCA1LCA2MiwgMTA0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAoKIERFRlBVU0hCVVRUT04gIibN4Ony6CDk4Ovl5SIsIElET0ssIDE3NCwgIDQsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QIHwgQlNfREVGUFVTSEJVVFRPTgogUFVTSEJVVFRPTiAiJsfg7OXt6PL8IiwgcHNoMQkgLCAxNzQsIDIxLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAix+Ds5e3o8vwgJuLx5SIsIHBzaDIgLCAxNzQsIDM4LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAizvLs5e3gIiwgSURDQU5DRUwJICwgMTc0LCA1NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIibR7/Dg4urgIiwgcHNoSGVscAkgLCAxNzQsIDc1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgpQUklOVDMyIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTg2ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8CiAgICAgIERTX0NPTlRFWFRIRUxQIHwgRFNfM0RMT09LCkNBUFRJT04gIs/l9+Dy/CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBERUZQVVNIQlVUVE9OICAgIk9LIiwgICAgIElET0ssICAgICAxODAsMTY0LCA0OCwxNCwgV1NfR1JPVVAgfCBCU19ERUZQVVNIQlVUVE9OCiAgICBQVVNIQlVUVE9OICAgICAgIs7y7OXt4CIsIElEQ0FOQ0VMLCAyMzIsMTY0LCA0OCwxNCwgV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJtHv8ODi6uAiLCAgcHNoSGVscCwgIDUwLCAxNjEsIDQ4LDE0LCBXU19HUk9VUAoKICAgIEdST1VQQk9YICAgICAgICAiz/Do7fLl8CIsICAgICAgICBncnA0LCAgIDgsICA0LCAyNzIsODQsIFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIs/l9+Dy/CDiIPTg6SbrIiwgY2h4MSwgIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIxMiw3MCw2NCwxMgogICAgUFVTSEJVVFRPTiAgICAgICIm0eLu6fHy4uAiLCAgICBwc2gyLCAyMTIsIDE3LCAgNjAsMTQsIFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIibI7P86IiwgICAgICAgICBzdGM2LCAgMTYsIDIwLCAgNDYsOAogICAgQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjQsICA2NCwgMTgsIDE0MCwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICLR8uDy8/E6IiwgICAgICAgIHN0YzgsICAxNiwgMzYsICA0NiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAi3ezz6+jw7uLg7SIsICAgIHN0YzEyLCA2NCwgMzYsIDEwMCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQgICAgICAgICAgICLS6O86IiwgICAgICAgICAgc3RjNywgIDE2LCA0OCwgIDQ2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICLd7PPr6PDu4uDtIiwgICAgIHN0YzExLCA2NCwgNDgsIDEwMCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQgICAgICAgICAgICLM5fHy7joiLCAgICAgICAgIHN0YzEwLCAxNiwgNjAsICA0NiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAi3ezz6+jw7uLg7e4iLCBzdGMxNCwgNjQsIDYwLCAxMDAsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiz/Do7OX34O3o5ToiLCAgIHN0YzksICAxNiwgNzIsICA0NiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAi3ezz6+jw7uLg7e4iLCAgIHN0YzEzLCA2NCwgNzIsIDEwMCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAoKICAgIEdST1VQQk9YICAgICAgICAiyu7v6OgiLCAgICAgICAgIGdycDIsIDE2MCwgOTIsIDEyMCw2NCwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAi1+jx6+4gJuru7+jpOiIsc3RjNSwxNjgsMTA4LDY4LDgKICAgIElDT04gICAgICAgICAgICAiIiwgICAgICAgICAgICAgICBpY28zLCAxNjIsMTI0LCAgNjAsMjQsIFdTX0dST1VQIHwgU1NfQ0VOVEVSSU1BR0UKICAgIENPTlRST0wgICAgICAgICAiJtDg5+Ho8vwiLCAgICAgICBjaHgyLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMzAsMTMwLDQyLDEyCiAgICBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MywgMjMwLDEwNiwgIDQyLDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgoKICAgIEdST1VQQk9YICAgICAgICAiz+X34PLg8vwiLCAgICBncnAxLCAgIDgsOTIsICAxNDQsNjQsIFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIibC8eUiLCAgICAgICAgICAgcmFkMSwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMTYsMTA2LDY0LDEyCiAgICBDT05UUk9MICAgICAgICAgIibR8vDg7ej2+yIsICAgICAgICAgcmFkMywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIyLDUwLDEyCiAgICBDT05UUk9MICAgICAgICAgIibC++Tl6+Xt6OUiLCAgICAgcmFkMiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTM4LDY0LDEyCiAgICBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MSwgIDg1LDEyMiwgIDIwLDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgogICAgRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDIsIDEyMCwxMjIsICAyMCwxMiwgV1NfR1JPVVAgfCBFU19OVU1CRVIKICAgIFJURVhUICAgICAgICAgICAiJu7yOiIsICAgICAgICAgc3RjMiwgIDcwLDEyNCwgIDEwLDgKICAgIFJURVhUICAgICAgICAgICAiJuTuOiIsICAgICAgICAgICBzdGMzLCAxMDYsMTI0LCAgMTAsOAp9CgpQUklOVDMyX1NFVFVQIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTc4ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8CiAgICAgIERTX0NPTlRFWFRIRUxQIHwgRFNfM0RMT09LCkNBUFRJT04gItPx8uDt7uLq6CDv8Ojt8uXw4CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMTU2LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIs7y7OXt4CIsSURDQU5DRUwsMjMyLDE1Niw0OCwxNAovKiAgICBQVVNIQlVUVE9OICAgICAgItHl8vwuLi4iLCBwc2g1LCAyODQsMTU2LDQ4LDE0ICovCgogICAgR1JPVVBCT1ggICAgICAgICLP8Ojt8uXwIiwgICAgICAgIGdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJtHi7unx8uLgIiwgICAgcHNoMiwgMjEyLCAxNywgIDYwLDE0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImyOz/OiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDM2LDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIxLCAgNTIsIDE4LCAxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAi0fLg8vPxOiIsICAgICAgICBzdGM4LCAgMTYsIDM2LCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIt3s8+vo8O7i4O0iLCAgICBzdGMxMiwgNTIsIDM2LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAi0ujvOiIsICAgICAgICAgIHN0YzcsICAxNiwgNDgsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAi3ezz6+jw7uLg7SIsICAgICBzdGMxMSwgNTIsIDQ4LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAizOXx8u46IiwgICAgICAgICBzdGMxMCwgMTYsIDYwLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIt3s8+vo8O7i4O3uIiwgc3RjMTQsIDUyLCA2MCwgMzYsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAix+Ds5fLq6DoiLCAgICAgICBzdGM5LCAgMTYsIDcyLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIt3s8+vo8O7i4O37IiwgICBzdGMxMywgNTIsIDcyLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKCiAgICBHUk9VUEJPWCAgICAgICAgIsHz7ODj4CIsICAgICAgICAgIGdycDIsICAgOCwgOTIsIDE2NCw1NiwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAi0ODnJuzl8DoiLCAgICAgICAgIHN0YzIsICAxNiwxMDgsICAzNiwgOAogICAgQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjIsICA1MiwxMDYsIDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICImyPHy7vft6Oo6IiwgICAgICAgc3RjMywgIDE2LDEyOCwgIDM2LCA4CiAgICBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMywgIDUyLDEyNiwgMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCgogICAgR1JPVVBCT1ggICAgICAgICLO8Ojl7fLg9uj/IiwgICAgZ3JwMSwgMTgwLCA5MiwgMTAwLDU2LCBXU19HUk9VUAogICAgSUNPTiAgICAgICAgICAgICIiLCAgICAgICAgICAgICAgIGljbzEsIDE5NSwxMTIsICAxOCwyMCwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiJs/u8PLw5fIiLCAgICAgIHJhZDEsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfFdTX1RBQlNUT1AsMjI0LDEwNiw1MiwxMgogICAgQ09OVFJPTCAgICAgICAgICLLJuDt5Pjg9PIiLCAgICAgcmFkMiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMjI0LDEyNiw1MiwxMgpFTkQKClBBR0VTRVRVUERMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzMiwgMzIsIDI0MCwgMjQwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLP4PDg7OXy8Psg8fLw4O3o9vsiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICBDT05UUk9MICIiLCByY3QxLCAiU3RhdGljIiwgU1NfV0hJVEVSRUNULCA4MCwgOCwgODAsIDgwCiAgQ09OVFJPTCAiIiwgcmN0MiwgIlN0YXRpYyIsIFNTX0dSQVlSRUNULCAxNjAsIDEyLCA0LCA4MAogIENPTlRST0wgIiIsIHJjdDMsICJTdGF0aWMiLCBTU19HUkFZUkVDVCwgIDg0LCA4OCwgODAsIDQKICBHUk9VUEJPWCAiwfPs4OPgIiwgZ3JwMiwgOCwgOTYsIDIyNCwgNTYsIEJTX0dST1VQQk9YCiAgTFRFWFQgIibQ4Ofs5fA6Iiwgc3RjMiwgMTYsIDExMiwgMzYsIDgKICBDT01CT0JPWCBjbWIyLCA2NCwgMTEwLCAxNjAsIDE2MCwgQ0JTX1NJTVBMRXxDQlNfRFJPUERPV058Q0JTX1NPUlR8V1NfR1JPVVB8V1NfVEFCU1RPUHxXU19WU0NST0xMCiAgTFRFWFQgIs/u5OAm9+A6Iiwgc3RjMywgMTYsIDEzMiwgMzYsIDgKICBDT01CT0JPWCBjbWIzLCA2NCwgMTMwLCAxNjAsIDE2MCwgQ0JTX1NJTVBMRXxDQlNfRFJPUERPV058Q0JTX1NPUlR8V1NfR1JPVVB8V1NfVEFCU1RPUHxXU19WU0NST0xMCiAgR1JPVVBCT1ggIs7w6OXt8uD26P8iLCBncnAxLCA4LCAxNTYsIDY0LCA1NiwgQlNfR1JPVVBCT1gKICBBVVRPUkFESU9CVVRUT04gIsom7ejm7eD/IiwgcmFkMSwgMTYsIDE3MCwgNTIsIDEyLCBCU19BVVRPUkFESU9CVVRUT04KICBBVVRPUkFESU9CVVRUT04gIsDr/Cbh7uzt4P8iLCByYWQyLCAxNiwgMTkwLCA1MiwgMTIsIEJTX0FVVE9SQURJT0JVVFRPTgogIEdST1VQQk9YICLP7uv/IiwgZ3JwNCwgODAsIDE1NiwgMTUyLCA1NiwgQlNfR1JPVVBCT1gKICBMVEVYVCAiJtHr5eLgOiIsIHN0YzE1LCA4OCwgMTcyLCAzMSwgOAogIEVESVRURVhUIGVkdDQsIDEyMSwgMTcwLCAyOSwgMTIsIFdTX1RBQlNUT1B8V1NfR1JPVVB8V1NfQk9SREVSfEVTX05VTUJFUgogIExURVhUICLRJuLl8PXzOiIsIHN0YzE2LCAxNTksIDE3MiwgMjcsIDgKICBFRElUVEVYVCBlZHQ2LCAxODcsIDE3MCwgMjksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUnxFU19OVU1CRVIKICBMVEVYVCAi0e/wJuDi4DoiLCBzdGMxNywgODgsIDE5MiwgMzEsIDgKICBFRElUVEVYVCBlZHQ1LCAxMjEsIDE5MCwgMjksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUnxFU19OVU1CRVIKICBMVEVYVCAi0e3oJufzOiIsIHN0YzE4LCAxNTksIDE5MiwgMjMsIDgKICBFRElUVEVYVCBlZHQ3LCAxODcsIDE5MCwgMjksIDEyLCBXU19UQUJTVE9QfFdTX0dST1VQfFdTX0JPUkRFUnxFU19OVU1CRVIKICBERUZQVVNIQlVUVE9OICLOyiIsIElET0ssIDcxLCAyMjAsIDUwLCAxNCwgQlNfUFVTSEJVVFRPTgogIFBVU0hCVVRUT04gIs7y7OXt4CIsIElEQ0FOQ0VMLCAxMjYsIDIyMCwgNTAsIDE0CiAgUFVTSEJVVFRPTiAiJs/w6O3y5fAuLi4iLCBwc2gzLCAxODQsIDIyMCwgNDgsIDE0CkVORAoJCQkJCSAgICAgIAoKTkVXRklMRU9QRU5PUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCAxNjQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX0NPTlRFWFRIRUxQIHwgV1NfVklTSUJMRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBXU19DTElQQ0hJTERSRU4KQ0FQVElPTiAizvLq8Pvy/CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVAkiyPHq4PL8ICbiIixJRENfTE9PS0lOU1RBVElDLDQsNiw0Myw4LCBTU19OT1RJRlkKICAgIENPTUJPQk9YCUlEQ19MT09LSU4sNDksMywxMzIsMTAwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgTFRFWFQJIiIgLCBJRENfVE9PTEJBUlNUQVRJQywgMTgxLCAyLCAxMDIsIDE3LCBOT1QgV1NfR1JPVVAgfCBOT1QgV1NfVklTSUJMRQogICAgTElTVEJPWAlJRENfU0hFTExTVEFUSUMsNCwyMCwyNzIsODUsIExCU19TT1JUIHwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBMQlNfTVVMVElDT0xVTU4gfCBXU19IU0NST0xMIHwgTk9UIFdTX1ZJU0lCTEUKCiAgICBMVEVYVAkiyOz/ICb04Onr4DoiLElEQ19GSUxFTkFNRVNUQVRJQyw1LDExMiw0Niw4LCBTU19OT1RJRlkKICAgIEVESVRURVhUCUlEQ19GSUxFTkFNRSw1NCwxMTAsMTU1LDEyLEVTX0FVVE9IU0NST0xMCgogICAgTFRFWFQJIibS6O8g9ODp6+7iOiIsSURDX0ZJTEVUWVBFU1RBVElDLDUsMTI4LDQyLDgsIFNTX05PVElGWQogICAgQ09NQk9CT1gJSURDX0ZJTEVUWVBFLDU0LDEyNiwxNTUsNTMsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTAki0u7r/OruIOTr/yAm9/Ll7ej/IixJRENfT1BFTlJFQURPTkxZLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNTQsMTQ1LDEwMCwxMAoKICAgIERFRlBVU0hCVVRUT04JIibO8urw+/L8IiwJCSBJRE9LLDIyMiwxMTAsNTAsMTQKICAgIFBVU0hCVVRUT04JCSLO8uzl7eAiLAkJIElEQ0FOQ0VMLDIyMiwxMjgsNTAsMTQKICAgIFBVU0hCVVRUT04JCSIm0e/w4OLq4CIsCQkgcHNoSGVscCwyMjIsMTQ1LDUwLDE0Cn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19BQk9VVEJPWCAgICAgICAgICAgICImziDy5fHy5SDC++Hu8M/g7+roIgogICAgSURTX0RPQ1VNRU5URk9MREVSUyAgICAgIs/g7+roIOTu6vPs5e3y7uIiCiAgICBJRFNfUEVSU09OQUwgICAgICAgICAgICAizO7oIOTu6vPs5e3y+yIKICAgIElEU19GQVZPUklURVMgICAgICAgICAgICLI5+Hw4O3t7uUiCiAgICBJRFNfUEFUSCAgICAgICAgICAgICAgICAi0ejx8uXs7fvpIO/z8vwiCiAgICBJRFNfREVTS1RPUCAgICAgICAgICAgICAi0ODh7vfo6SDx8u7rIgogICAgSURTX0ZPTlRTICAgICAgICAgICAgICAgItjw6PTy+yIKICAgIElEU19NWUNPTVBVVEVSICAgICAgICAgICLM7ukg6u7s7/z+8uXwIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfU1lTVEVNRk9MREVSUyAgICAgICAi0ejx8uXs7fvlIO/g7+roIgogICAgSURTX0xPQ0FMSEFSRFJJVkVTICAgICAgIsvu6uDr/O375SDm5fHy6ujlIOTo8eroIgogICAgSURTX0ZJTEVOT1RGT1VORCAgICAgICAgItTg6esg7eUg7eDp5OXtIgogICAgSURTX1ZFUklGWUZJTEUgICAgICAgICAgIs/w7uLl8Pzy5Swg7/Dg4ujr/O3uIOvoIPPq4Ofg7e4g6Oz/IPTg6evgIgogICAgSURTX0NSRUFURUZJTEUgICAgICAgICAgItTg6evgIO3lIPHz+eXx8uLz5fJcbtXu8ujy5SDr6CDC+yDl4+4g8e7n5ODy/D8iCiAgICBJRFNfT1ZFUldSSVRFRklMRSAgICAgICAi1ODp6yDz5uUg8fP55fHy4vPl8i5cbsfg7OXt6PL8IOXj7j8iCiAgICBJRFNfSU5WQUxJRF9GSUxFTkFNRV9USVRMRSAizeXq7vDw5ery7fvpIPHo7OLu6yDiIOfg7+jx6CDv8/LoIgogICAgSURTX0lOVkFMSURfRklMRU5BTUUgICAgIsjs/yD04Onr4CDt5SDs7ubl8iDx7uTl8Obg8vwg8evl5PP++ejlIPHo7OLu6/s6IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAvIDogPCA+IHwiCiAgICBJRFNfUEFUSE5PVEVYSVNUSU5HICAgICAiz/Py/CDt5SDx8/nl8fLi8+XyIgogICAgSURTX0ZJTEVOT1RFWElTVElORyAgICAgItTg6esg7eUg8fP55fHy4vPl8iIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgSURTX1VQRk9MREVSICAgICAgICAgIsLi5fD1IO3gIO7k6O0g8/Du4uXt/CIKICAgIElEU19ORVdGT0xERVIgICAgICAgICLR7ufk4PL8IO3u4vP+IO/g7+rzIgogICAgSURTX0xJU1RWSUVXICAgICAgICAgItHv6PHu6iIKICAgIElEU19SRVBPUlRWSUVXICAgICAgICLP7uTw7uHt7vHy6CIKICAgIElEU19UT0RFU0tUT1AgICAgICAgICLP5fDl9e7kIO3gIPDg4e736Okg8fLu6yIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgUEQzMl9QUklOVF9USVRMRSAgICAgICAiz+X34PL8IgoKICAgIFBEMzJfVkFMVUVfVVJFQURBQkxFICAgICAgICAgICAgICAgICAgIs3l9+jy4OXs++kg/evl7OXt8iIKICAgIFBEMzJfSU5WQUxJRF9QQUdFX1JBTkdFICLd8u4g5+3g9+Xt6OUg7eUg6+Xm6PIg4u3z8vDoIOTo4O/g5+7t4CDx8vDg7ej2XG5cCsLi5eTo8uUg5+3g9+Xt6OUg7OXm5PMgJWQg6CAlZCIKICAgIFBEMzJfRlJPTV9OT1RfQUJPVkVfVE8gICAgICAgICAgICAgICAgIsft4Pfl7ejlIM7SIO3lIOTu6+bt7iDv8OXi+/jg8vwgxM46IgogICAgUEQzMl9NQVJHSU5TX09WRVJMQVAgICAgICAgICAgICAgICAgICAiw/Dg7ej2+yDv5fDl6vD74uD+8iDo6+gg7/Dl4vv44P7yIFwK8ODn7OXw+yDh8+zg4+guXG7C4uXk6PLlIOj1IOfg7e7i7iIKICAgIFBEMzJfTlJfT0ZfQ09QSUVTX0VNUFRZICAgICAgICAgICAgICAgIsft4Pfl7ejlINfo8evgIMru7+jpIO3lIOzu5uXyIOH78vwgXArv8/Hy++wiCiAgICBQRDMyX1RPT19MQVJHRV9DT1BJRVMgICAgICAgICAgICAgICAgICLS4Oru5SDh7uv8+O7lIOru6+j35fHy4u4g6u7v6Okg7eUgXArs7ubl8iDh+/L8IO3g7+X34PLg7e4gwuD46Owg7/Do7fLl8O7sLlxuwuLl5Ojy5SDn7eD35e3o5SDs5ebk8yAxIOggJWQiCiAgICBQRDMyX1BSSU5UX0VSUk9SICAgICAgICAgICAgICAgICAgICAgICLP8O7o5+746+Ag7vjo4ergIO/w6O3y5fDgIgogICAgUEQzMl9OT19ERUZBVUxUX1BSSU5URVIgICAgICAgICAgICAgICAizeXyIO/w6O3y5fDgLCDz8fLg7e7i6+Xt7e7j7iDv7iDz7O7r9+Dt6P4iCiAgICBQRDMyX0NBTlRfRklORF9QUklOVEVSICAgICAgICAgICAgICAgICLN5SDz5ODr7vH8IO3g6fLoIO/w6O3y5fAiCiAgICBQRDMyX09VVF9PRl9NRU1PUlkgICAgICAgICAgICAgICAgICAgICLM4OvuIO/g7P/y6CIKICAgIFBEMzJfR0VORVJJQ19FUlJPUiAgICAgICAgICAgICAgICAgICAgIs/w7ujn7vjr4CjoKSDu+Ojh6uAo6CkiCiAgICBQRDMyX0RSSVZFUl9VTktOT1dOICAgICAgICAgICAgICAgICAgICLN5ejn4uXx8u376SDk8ODp4uXwIO/w6O3y5fDgIgogICAgUEQzMl9OT19ERVZJQ0VTICAgICAgICAgICAgICAgICAgICAgICAizvLx8/Lx8uLz/vIg7/Do7fLl8Psg4iDx6PHy5ezlLiBcCs/w7uLl8Pzy5Swg9/LuIPXu8v8g4fsg7uTo7SDv8Ojt8uXwIPPx8uDt7uLr5e0g6CDx6PHy5ezgIO/l9+Dy6CDn4O/z+eXt4C4gXAoiCgogICAgUEQzMl9ERUZBVUxUX1BSSU5URVIgICAgICAgICAgICAgICAgICAiz/Do7fLl8CDv7iDz7O7r9+Dt6P47ICIKICAgIFBEMzJfTlJfT0ZfRE9DVU1FTlRTX0lOX1FVRVVFICAgICAgICAgIiVkIOTu6vPs5e3y7uIg4iDu9+Xw5eToIgogICAgUEQzMl9NQVJHSU5TX0lOX0lOQ0hFUyAgICAgICAgICAgICAgICAiw/Dg7ej2+yBb5P7p7PspIgogICAgUEQzMl9NQVJHSU5TX0lOX01JTElNRVRFUlMgICAgICAgICAgICAiw/Dg7ej2+yBb7OxdIgogICAgUEQzMl9NSUxJTUVURVJTICAgICAgICAgICAgICAgICAgICAgICAi7OwiCgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19SRUFEWSAgICAgICAgICAgICAiw+7y7uLuIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVVTRUQgICAgICAgICAgICAiz/Do7vHy4O3u4uvl7e47ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfRVJST1IgICAgICAgICAgICAgIs746OHq4DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QRU5ESU5HX0RFTEVUSU9OICAizubo5ODt6OUg8+Tg6+Xt6P87ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfSkFNICAgICAgICAgIsHz7ODj4CDn4PHy8P/r4DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9PVVQgICAgICAgICAizeUg9eLg8uDl8iDh8+zg4+g7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfTUFOVUFMX0ZFRUQgICAgICAgIsLx8uDi/PLlIOHz7ODj8yDi8PP37fP+OyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX1BST0JMRU0gICAgICLP8O7h6+Xs4CDxIOHz7ODj7uk7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfT0ZGTElORSAgICAgICAgICAgIs/w6O3y5fAg4iDw5ebo7OUgb2ZmbGluZTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19JT19BQ1RJVkUgICAgICAgICAiwuLu5C/C++Lu5CDg6vLo4uXtOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0JVU1kgICAgICAgICAgICAgICLH4O3/8jsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QUklOVElORyAgICAgICAgICAiyOTl8iDv5ffg8vw7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfT1VUUFVUX0JJTl9GVUxMICAgIsvu8u7qIO/l8OXv7uvt5e0g4fPs4OPu6TsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19OT1RfQVZBSUxBQkxFICAgICAizeUg5O7x8vPv5e07ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfV0FJVElORyAgICAgICAgICAgIs7m6OTg7ejlOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BST0NFU1NJTkcgICAgICAgICLO4fDg4e7y6uA7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfSU5JVElBTElaSU5HICAgICAgIs/u5OPu8u7i6uA7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfV0FSTUlOR19VUCAgICAgICAgIs/w7uPw5eI7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfVE9ORVJfTE9XICAgICAgICAgItLu7eXwIO3gIOjx9e7k5TsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19OT19UT05FUiAgICAgICAgICAizeXyIPLu7eXw4DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQUdFX1BVTlQgICAgICAgICAiUGFnZSBwdW50OyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1VTRVJfSU5URVJWRU5USU9OICLP8OXw4uDt7iDv7uv85+7i4PLl6+XsOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX09VVF9PRl9NRU1PUlkgICAgICLM4OvuIO/g7P/y6DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19ET09SX09QRU4gICAgICAgICAiyvD7+OrgIO/w6O3y5fDgIO7y6vD78uA7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfU0VSVkVSX1VOS05PV04gICAgIs3l6Ofi5fHy7fvpIPHl8OLl8CDv8Ojt8uXw4DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QT1dFUl9TQVZFICAgICAgICAiz+jy4O3o5SDiIOHl5+7v4PHt7uwg8OXm6OzlOyAiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFIC8qIENvbG9yIG5hbWVzICovCnsKICAgIElEU19DT0xPUl9CTEFDSyAgICAgIte48O376SIKICAgIElEU19DT0xPUl9NQVJPT04gICAgItK47O3uLeHu8OTu4vvpIgogICAgSURTX0NPTE9SX0dSRUVOICAgICAix+XruO376SIKICAgIElEU19DT0xPUl9PTElWRSAgICAgIs7r6OLq7uL76SIKICAgIElEU19DT0xPUl9OQVZZICAgICAgItK47O3uLfHo7ejpIgogICAgSURTX0NPTE9SX1BVUlBMRSAgICAiz/Pw7/Pw7fvpIgogICAgSURTX0NPTE9SX1RFQUwgICAgICAizO7w8eru6SDi7uvt+yIKICAgIElEU19DT0xPUl9HUkFZICAgICAgItHl8PvpIgogICAgSURTX0NPTE9SX1NJTFZFUiAgICAi0eXw5eHw/+376SIKICAgIElEU19DT0xPUl9SRUQgICAgICAgIsrw4PHt++kiCiAgICBJRFNfQ09MT1JfTElNRSAgICAgICLL6Ozu7e376SIKICAgIElEU19DT0xPUl9ZRUxMT1cgICAgIsa46/L76SIKICAgIElEU19DT0xPUl9CTFVFICAgICAgItHo7ejpIgogICAgSURTX0NPTE9SX0ZVQ0hTSUEgICAi3/Dq7i3w7ufu4vvpIgogICAgSURTX0NPTE9SX0FRVUEgICAgICAiw+7r8+Hu6SIKICAgIElEU19DT0xPUl9XSElURSAgICAgIsHl6/vpIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfRk9OVF9TSVpFICAgIsL74eXw6PLlIPjw6PTyIPDg5+zl8O7sICVkIC0gJWQg7/Pt6vLu4i4iCiAgICBJRFNfU0FWRV9CVVRUT04gIibR7vXw4O3o8vwiCiAgICBJRFNfU0FWRV9JTiAgICAgItHu9fDg7ejy/CAm4joiCiAgICBJRFNfU0FWRSAgICAgICAgItHu9fDg7ejy/CIKICAgIElEU19TQVZFX0FTICAgICAi0e718ODt6PL8IOrg6iIKICAgIElEU19PUEVOX0ZJTEUgICAizvLq8Pvy/CD04OnrIgp9Cg==