LyoKICogQ29weXJpZ2h0IDIwMDQgSWx5YSBLb3JuaXlrbwogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgojaW5jbHVkZSAiY2RsZy5oIgojaW5jbHVkZSAiZmlsZWRsZ2Jyb3dzZXIuaCIKCi8qCiAqIFdBUk5JTkc6IERPIE5PVCBDSEFOR0UgVEhFIFNJWkUgT0YgVEhFIFNUQU5EQVJEIERJQUxPRyBURU1QTEFURVMuCiAqLwoKTEFOR1VBR0UgTEFOR19VS1JBSU5JQU4sIFNVQkxBTkdfREVGQVVMVAoKT1BFTl9GSUxFIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiwrPk6vDo8ugiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiay7Cf/IPTg6evzOiIsIDEwOTAsIDYsIDYsIDc2LCA5CiBFRElUVEVYVCAxMTUyLCA2LCAxNiwgOTAsIDEyLCBFU19BVVRPSFNDUk9MTCB8IEVTX09FTUNPTlZFUlQgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiBMSVNUQk9YIDExMjAsIDYsIDMyLCA5MCwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICIm0uXq6DoiLCAtMSwgMTEwLCA2LCA5MiwgOQogTFRFWFQgIiIsIDEwODgsIDExMCwgMTgsIDkyLCA5LCBTU19OT1BSRUZJWCB8IFdTX0dST1VQCiBMSVNUQk9YIDExMjEsIDExMCwgMzIsIDkyLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIs/u6uDn8+Lg8ugg9ODp6+ggJvLo7/M6IiwgMTA4OSwgNiwgMTA0LCA5MCwgOQogQ09NQk9CT1ggMTEzNiwgNiwgMTE0LCA5MCwgMzYsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIibE6PHq6DoiLCAxMDkxLCAxMTAsIDEwNCwgOTIsIDkKIENPTUJPQk9YIDExMzcsIDExMCwgMTE0LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIsKz5Orw6PLoIiwgSURPSywgMjA4LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIsKz5Oyz7eAiLCBJRENBTkNFTCwgMjA4LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIibE7uKz5OrgIiwgMTAzOCwgMjA4LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImy+j45SDk6/8g9+jy4O3t/yIsIDEwNDAsIDIwOCwgNjgsIDU0LCAyNCwgQlNfQVVUT0NIRUNLQk9YIHwgQlNfTVVMVElMSU5FICB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKU0FWRV9GSUxFIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjc1LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAix+Hl8OXj8ugg/+ouLi4iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiYmsuwn/yD04Onr8zoiLCAxMDkwLCA2LCA2LCA3NiwgOQogRURJVFRFWFQgMTE1MiwgNiwgMTYsIDkwLCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBFU19PRU1DT05WRVJUIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogTElTVEJPWCAxMTIwLCA2LCAzMiwgOTAsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJtLl6ug6IiwgLTEsIDExMCwgNiwgOTIsIDkKIExURVhUICIiLCAxMDg4LCAxMTAsIDE4LCA5MiwgOSwgU1NfTk9QUkVGSVggfCBXU19HUk9VUAogTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICLP7urg5/Pi4PLoIPTg6evoICby6O/zOiIsIDEwODksIDYsIDEwNCwgOTAsIDkKIENPTUJPQk9YIDExMzYsIDYsIDExNCwgOTAsIDM2LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImxOjx6ug6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiBDT01CT0JPWCAxMTM3LCAxMTAsIDExNCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICLH4eXw5ePy6CD/6iIsIElET0ssIDIwOCwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLCs+Tss+3gIiwgSURDQU5DRUwsIDIwOCwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImxO7is+Tq4CIsIDEwMzgsIDIwOCwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJsvo+OUg5Ov/IPfo8uDt7f8iLCAxMDQwLCAyMDgsIDY4LCA1NCwgMjQsIEJTX0FVVE9DSEVDS0JPWCB8IEJTX01VTFRJTElORSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyNjQsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLE8PPqIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICLP8Ojt8uXwOiIsIDEwODgsIDYsIDYsIDQwLCA5CiBMVEVYVCAiIiwgMTA4OSwgNjAsIDYsIDE1MCwgOQogR1JPVVBCT1ggIsTw8+rz4uDy6CIsIDEwNzIsIDYsIDMwLCAxNjAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIibC8eUiLCAxMDU2LCAxNiwgNDUsIDYwLCAxMgogUkFESU9CVVRUT04gIsIm6OSz6+Xt7ejpIPTw4OPs5e3yIiwgMTA1NywgMTYsIDYwLCA2MCwgMTIKIFJBRElPQlVUVE9OICIm0fLu8LPt6ugiLCAxMDU4LCAxNiwgNzUsIDYwLCAxMgogREVGUFVTSEJVVFRPTiAixPDz6iIsIElET0ssIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLCs+Tss+3gIiwgSURDQU5DRUwsIDIwNiwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLC6+Dx8uji7vHysyIsIDEwMjQsIDIwNiwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiJuc6IiwgMTA5MCwgNjAsIDgwLCAzMCwgOQogTFRFWFQgIibk7joiLCAxMDkxLCAxMjAsIDgwLCAzMCwgOQogTFRFWFQgIibf6rPx8vwg5PDz6vM6IiwgMTA5MiwgNiwgMTAwLCA3NiwgOQogQ09NQk9CT1ggMTEzNiwgODAsIDEwMCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAixPDz6iDk7iD04Onr8yIsIDEwNDAsIDIwLCAxMDAsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAi0fLo8evuIiwgMTA0MSwgMTYwLCAxMDAsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVF9TRVRVUCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI2NCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIs3g8fLw7unq4CDv8Ojt8uXw4CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBHUk9VUEJPWCAiz/Do7fLl8CIsIDEwNzIsIDYsIDEwLCAxODAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIs/w6O3y5fAg5+AgJu7h8+zu4uvl7e3/7CIsIDEwNTYsIDE2LCAyMCwgODAsIDEyCiBMVEVYVCAiW83l7OBdIiwgMTA4OCwgMzUsIDM1LCAxMjAsIDkKIFJBRElPQlVUVE9OICImsu346Okg7/Do7fLl8CIsIDEwNTcsIDE2LCA1MCwgODAsIDEyCiBDT01CT0JPWCAxMTM2LCAzNSwgNjUsIDE0OSwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgMjA2LCA2LCA1NiwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIsKz5Oyz7eAiLCBJRENBTkNFTCwgMjA2LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIibN4PHy8O7p6uAiLCAxMDI0LCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggIs7ws7rt8uD2s/8iLCAxMDczLCA2LCA4NSwgMTAwLCA1MCwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICImyu3o5u3gIiwgMTA1OCwgNTAsIDEwMCwgNDAsIDEyCiBSQURJT0JVVFRPTiAiJsDr/OHu7O3gIiwgMTA1OSwgNTAsIDExNSwgNDAsIDEyCiBJQ09OICJMQU5EU0NBUCIsIDEwOTcsIDEwLCA5NSwgMzIsIDMyCiBJQ09OICJQT1JUUkFJVCIsIDEwOTgsIDEwLCA5NSwgMzIsIDMyCiBHUk9VUEJPWCAiz+Dvs/AiLCAxMDc0LCAxMjAsIDg1LCAxODAsIDUwLCBCU19HUk9VUEJPWAogTFRFWFQgItDuJufss/AiLCAxMDg5LCAxMzAsIDk1LCAzMCwgOQogTFRFWFQgIibE5uXw5evuIiwgMTA5MCwgMTMwLCAxMTAsIDMwLCA5CiBDT01CT0JPWCAxMTM3LCAxNTUsIDk1LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENPTUJPQk9YIDExMzgsIDE1NSwgMTEwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKfQoKCkNIT09TRV9GT05UIERJQUxPRyBESVNDQVJEQUJMRSAgMTMsIDU0LCAyNjQsIDE0NwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLY8Oj08iIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICAgICAgICAgIibY8Oj08joiLDEwODggLDYsMyw0MCw5CiAgICBDT01CT0JPWCAgICAgICAgMTEzNiAsNiwxMyw5NCw1NCwgIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgICAgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKICAgIExURVhUICAgICAgICAgICAiJtHy6Ov8OiIsMTA4OSAsMTA4LDMsNDQsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzcsMTA4LDEzLDY0LDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRQogICAgTFRFWFQgICAgICAgICAgICIm0O7n7LPwOiIsMTA5MCwxNzksMywzMCw5CiAgICBDT01CT0JPWCAgICAgICAgMTEzOCwxNzksMTMsMzIsNTQsIENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFIHwgQ0JTX1NPUlQKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMjE4LDYsNDAsMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCB8IEJTX0RFRlBVU0hCVVRUT04KICAgIFBVU0hCVVRUT04gICAgICAiwrPk7LPt4CIsSURDQU5DRUwsMjE4LDIzLDQwLDE0LFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImx+Dx8u7x8+Lg8ugiLCAxMDI2LDIxOCw0MCw0MCwxNCxXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiJsTu4rPk6uAiICwgMTAzOCwyMTgsNTcsNDAsMTQsV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIsDy8Ojh8/LoIiwxMDcyLDYsNzIsODQsMzQsV1NfR1JPVVAKICAgIENIRUNLQk9YCSAgICAiJsfg6vDl8evl7ejpIiwgMTA0MCwgMTAsODIsNzUsMTAsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKICAgIENIRUNLQk9YIAkgICAgIibPs+Tq8OXx6+Xt6OkiLCAxMDQxLCAxMCw5NCw3NSwxMCwgQlNfQVVUT0NIRUNLQk9YCiAgICBMVEVYVCAgICAgICAgICAgIibK7uuz8DoiLCAxMDkxICw2LDExMCwzMCw5CiAgICBDT01CT0JPWCAgICAgICAgMTEzOSw2LDEyMCw4NCwxMDAsQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwKCQkgICAgQ0JTX0FVVE9IU0NST0xMIHwgIFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIibH8ODn7uoiLGdycDIsOTgsNzIsMTIwLDM2LFdTX0dST1VQCiAgICBDVEVYVCAgICAgICAgICAgIsDgweFBYUJiIixzdGM1LDEwMyw4MCwxMDksMjQsU1NfTk9QUkVGSVggfCBOT1QgV1NfVklTSUJMRQogICAgTFRFWFQgICAgICAgICAgICLR6vDo7/I6IixzdGM3ICw5OCwxMTQsODAsOQogICAgQ09NQk9CT1ggICAgICAgIGNtYjUsOTgsMTI0LDEyMCw5MCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0hBU1NUUklOR1MgfAoJCSAgICBDQlNfQVVUT0hTQ1JPTEwgfCAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCn0KCgpDSE9PU0VfQ09MT1IgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAzMTAsIDE4NQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLH7LPt4CDv4Ouz8vDoIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImweDn7uLgIO/g67Py8OA6IiwgICAxMDg4LCA0LCAgICA0LCAgMTQwLCAxMAogTFRFWFQgIsQm7uTg8uru4rMg6u7r/O7w6DoiLCAgMTA4OSwgNCwgICAxMDYsIDE0MCwgMTAKIExURVhUICLK7uuz8HzH4Cbr6OLq4CIsICAxMDkwLCAxNTAsIDE1MSwgIDQ4LCAxMAogTFRFWFQgICAiJtfl8OLu7ejpOiIsIDcyNiAvKjEwOTQqLywyNTQsMTI2LDMyLDEwCiBFRElUVEVYVCA3MDYsIDI4OCwxMjQsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAiJsfl6+Xt6Ok6Iiw3MjcvKjEwOTUqLywyNTQsMTQwLDMyLDEwCiBFRElUVEVYVCA3MDcsIDI4OCwxMzgsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAi0Sbo7bPpOiIsNzI4IC8qMTA5NiovLDI2NCwxNTQsMjQsMTAKIEVESVRURVhUIDcwOCwgMjg4LDE1MiwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIsKz5Cbys+3u6joiICw3MjMgLyoxMDkxKi8sMjAyLDEyNiwzMCwxMAogRURJVFRFWFQgNzAzLCAyMzQsMTI0LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJsru7fLw4PHyOiIgLDcyNCAvKjEwOTIqLywxOTksMTQwLDM0LDEwCiBFRElUVEVYVCA3MDQsIDIzNCwxMzgsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICIm3/Hq8ODis/Hy/DoiICw3MjUgLyoxMDkzKi8sMjAyLDE1NCwzMCwxMAogRURJVFRFWFQgNzA1LCAyMzQsMTUyLDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENPTlRST0wgIiIgLDcyMCwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDE0LDE0MCw4NgogQ09OVFJPTCAiIiAsNzIxLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLDQsMTE2LDE0MCwyOAogQ09OVFJPTCAiIiAsNzEwLCJTVEFUSUMiLFdTX0JPUkRFUnxTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDQsMTE4LDExNgogQ09OVFJPTCAiIiAsNzAyLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAyNzgsNCw4LDExNgogQ09OVFJPTCAiIiAsNzA5LCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsMTI0LDQwLDI2CiBERUZQVVNIQlVUVE9OICJPSyIsICBJRE9LLCAgNCwgMTY2LCA0NCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIsKz5Oyz7eAiLCBJRENBTkNFTCwgNTIsIDE2NiwgNDQsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIsTu4rPk6uAiLCAxMDM4LDEwMCwxNjYsIDQ0LCAxNAogUFVTSEJVVFRPTiAiJsTu5ODy6CDk7iDt4OHu8PMiLCAgICA3MTIvKjEwMjQqLywgMTUyLCAxNjYsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJsLo5+3g9+jy6CDq7uuz8CA+PiIsIDcxOS8qMTAyNSovLCAgIDQsIDE1MCwgMTQyLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICAiJmkiLDcxMywzMDAsMjAwLDQsMTQgICAvKiBqdXN0IGEgZHVtbXk6ICAnaScgaXMgIGxpa2UgICZpICBpbiAic29sJmlkIiAgKi8KfQoKCkZJTkRETEdPUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyNDUsIDYyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIs/u+PPqIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImx/Dg5+7qOiIsIC0xLCA0LCA4LCA0MiwgOAogRURJVFRFWFQgMTE1MiwgNDcsIDcsIDEzOCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJsvo+OUg8evu4u4g9rPr6u7sIiwgMTA0MCwgNCwgMjYsIDEwMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIsfg67PqICbw5bSz8fLw8yIsIDEwNDEsIDQsIDQyLCAxMDAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBHUk9VUEJPWCAizeDv8P/sIiwgMTA3MiwgMTA3LCAyNiwgNzgsIDI4CiBDT05UUk9MICImwuPu8PMiLCAxMDU2LCAiQlVUVE9OIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLCAxMTEsIDM4LCA0MCwgMTIKIENPTlRST0wgIsIm7ejnIiwgMTA1NywgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX1RBQlNUT1AsIDE1MiwgMzgsIDMwLCAxMgoKIERFRlBVU0hCVVRUT04gIscm7eDp8ugg5ODrsyIsIElET0ssIDE5MCwgIDUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QIHwgQlNfREVGUFVTSEJVVFRPTgogUFVTSEJVVFRPTiAiwrPk7LPt4CIsIElEQ0FOQ0VMCSAsIDE5MCwgMjMsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImxO7is+Tq4CIsIHBzaEhlbHAJICwgMTkwLCA0NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClJFUExBQ0VETEdPUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyMzAsIDk0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIsfg7LPt4CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJsfw4Ofu6joiLCAtMSwgNCwgOSwgNDgsIDgKIEVESVRURVhUIDExNTIsIDU0LCA3LCAxMTQsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIscm4Oyz7ejy6CDt4DoiLCAtMSwgNCwgMjYsIDQ4LCA4CiBFRElUVEVYVCAxMTUzLCA1NCwgMjQsIDExNCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJsvo+OUg8evu4u4g9rPr6u7sIiwgMTA0MCwgNSwgNDYsIDEwNCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIsfg67PqICbw5bSz8fLw8yIsIDEwNDEsIDUsIDYyLCAxMDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCgogREVGUFVTSEJVVFRPTiAixybt4Ony6CDk4OuzIiwgSURPSywgMTc0LCAgNCwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AgfCBCU19ERUZQVVNIQlVUVE9OCiBQVVNIQlVUVE9OICImx+Dss+3o8ugiLCBwc2gxCSAsIDE3NCwgMjEsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLH4Oyz7ejy6CAm4vHlIiwgcHNoMiAsIDE3NCwgMzgsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLCs+Tss+3gIiwgSURDQU5DRUwJICwgMTc0LCA1NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIibE7uKz5OrgIiwgcHNoSGVscAkgLCAxNzQsIDc1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgpQUklOVDMyIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTg2ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8CiAgICAgIERTX0NPTlRFWFRIRUxQIHwgRFNfM0RMT09LCkNBUFRJT04gIsTw8+oiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsICAgICBJRE9LLCAgICAgMTgwLDE2NCwgNDgsMTQsIFdTX0dST1VQIHwgQlNfREVGUFVTSEJVVFRPTgogICAgUFVTSEJVVFRPTiAgICAgICLCs+Tss+3gIiwgSURDQU5DRUwsIDIzMiwxNjQsIDQ4LDE0LCBXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICImxO7is+Tq4CIsICBwc2hIZWxwLCAgNTAsIDE2MSwgNDgsMTQsIFdTX0dST1VQCgogICAgR1JPVVBCT1ggICAgICAgICLP8Ojt8uXwIiwgICAgICAgIGdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAixPDz6iDzIPTg6SbrIiwgY2h4MSwgIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIxMiw3MCw2NCwxMgogICAgUFVTSEJVVFRPTiAgICAgICImwuvg8fLo4u7x8rMiLCAgICBwc2gyLCAyMTIsIDE3LCAgNjAsMTQsIFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIiay7Cf/OiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDQ2LDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWI0LCAgNjQsIDE4LCAxNDAsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAi0fLg8vPxOiIsICAgICAgICBzdGM4LCAgMTYsIDM2LCAgNDYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIsXs8+v87uLg7e4iLCAgICBzdGMxMiwgNjQsIDM2LCAxMDAsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAi0ujvOiIsICAgICAgICAgIHN0YzcsICAxNiwgNDgsICA0NiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAixezz6/zu4uDt7iIsICAgICBzdGMxMSwgNjQsIDQ4LCAxMDAsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAizLPx9uU6IiwgICAgICAgICBzdGMxMCwgMTYsIDYwLCAgNDYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIsXs8+v87uLg7e4iLCBzdGMxNCwgNjQsIDYwLCAxMDAsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiz/Do7LPy6uA6IiwgICAgc3RjOSwgIDE2LCA3MiwgIDQ2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICLF7PPr/O7i4O3uIiwgICBzdGMxMywgNjQsIDcyLCAxMDAsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKCiAgICBHUk9VUEJPWCAgICAgICAgIsru77O/IiwgICAgICAgICBncnAyLCAxNjAsIDkyLCAxMjAsNjQsIFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgItfo8evuICbq7u+z6ToiLHN0YzUsMTY4LDEwOCw2OCw4CiAgICBJQ09OICAgICAgICAgICAgIiIsICAgICAgICAgICAgICAgaWNvMywgMTYyLDEyNCwgIDYwLDI0LCBXU19HUk9VUCB8IFNTX0NFTlRFUklNQUdFCiAgICBDT05UUk9MICAgICAgICAgIibQ7ufh6PLoIiwgICAgICAgY2h4MiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMjMwLDEzMCw0MiwxMgogICAgRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDMsIDIzMCwxMDYsICA0MiwxMiwgV1NfR1JPVVAgfCBFU19OVU1CRVIKCiAgICBHUk9VUEJPWCAgICAgICAgIsTw8+rz4uDy6CIsICAgIGdycDEsICAgOCw5MiwgIDE0NCw2NCwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiJsLx5SIsICAgICAgICAgICByYWQxLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwxNiwxMDYsNjQsMTIKICAgIENPTlRST0wgICAgICAgICAiJtHy7vCz7eroIiwgICAgICAgICByYWQzLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMjIsNTAsMTIKICAgIENPTlRST0wgICAgICAgICAiJsLo5LPr5e3t/yIsICAgICByYWQyLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMzgsNjQsMTIKICAgIEVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICBlZHQxLCAgODUsMTIyLCAgMjAsMTIsIFdTX0dST1VQIHwgRVNfTlVNQkVSCiAgICBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MiwgMTIwLDEyMiwgIDIwLDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgogICAgUlRFWFQgICAgICAgICAgICIm4rPkOiIsICAgICAgICAgc3RjMiwgIDcwLDEyNCwgIDEyLDgKICAgIFJURVhUICAgICAgICAgICAiJuTuOiIsICAgICAgICAgICBzdGMzLCAxMDYsMTI0LCAgMTAsOAp9CgpQUklOVDMyX1NFVFVQIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFICAzMiwgMzIsIDI4OCwgMTc4ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8CiAgICAgIERTX0NPTlRFWFRIRUxQIHwgRFNfM0RMT09LCkNBUFRJT04gItPx8uDt7uLq6CDv8Ojt8uXw4CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMTU2LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIsKz5Oyz7eAiLElEQ0FOQ0VMLDIzMiwxNTYsNDgsMTQKLyogICAgUFVTSEJVVFRPTiAgICAgICLRs/Lq4C4uLiIsIHBzaDUsIDI4NCwxNTYsNDgsMTQgKi8KCiAgICBHUk9VUEJPWCAgICAgICAgIs/w6O3y5fAiLCAgICAgICAgZ3JwNCwgICA4LCAgNCwgMjcyLDg0LCBXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICImwuvg8fLo4u7x8rMiLCAgICBwc2gyLCAyMTIsIDE3LCAgNjAsMTQsIFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIiay7Cf/OiIsICAgICAgICAgc3RjNiwgIDE2LCAyMCwgIDM2LDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIxLCAgNTIsIDE4LCAxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAi0fLg8vPxOiIsICAgICAgICBzdGM4LCAgMTYsIDM2LCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIsXs8+v87uLg7e4iLCAgICBzdGMxMiwgNTIsIDM2LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAi0ujvOiIsICAgICAgICAgIHN0YzcsICAxNiwgNDgsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAixezz6/zu4uDt7iIsICAgICBzdGMxMSwgNTIsIDQ4LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAizLPx9uU6IiwgICAgICAgICBzdGMxMCwgMTYsIDYwLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIsXs8+v87uLg7e4iLCBzdGMxNCwgNTIsIDYwLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiz/Do7LPy6ug6IiwgICAgICAgc3RjOSwgIDE2LCA3MiwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICLF7PPr/O7i4O2zIiwgICBzdGMxMywgNTIsIDcyLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKCiAgICBHUk9VUEJPWCAgICAgICAgIs/g77PwIiwgICAgICAgICAgZ3JwMiwgICA4LCA5MiwgMTY0LDU2LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICLQ7ucm7LPwOiIsICAgICAgICAgc3RjMiwgIDE2LDEwOCwgIDM2LCA4CiAgICBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMiwgIDUyLDEwNiwgMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIibE5uXw5evuOiIsICAgICAgIHN0YzMsICAxNiwxMjgsICAzNiwgOAogICAgQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjMsICA1MiwxMjYsIDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAoKICAgIEdST1VQQk9YICAgICAgICAizvCzuu3y4Paz/yIsICAgIGdycDEsIDE4MCwgOTIsIDEwMCw1NiwgV1NfR1JPVVAKICAgIElDT04gICAgICAgICAgICAiIiwgICAgICAgICAgICAgICBpY28xLCAxOTUsMTEyLCAgMTgsMjAsIFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIibP7vDy8OXyIiwgICAgICByYWQxLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHxXU19UQUJTVE9QLDIyNCwxMDYsNTIsMTIKICAgIENPTlRST0wgICAgICAgICAiyybg7eT44PTyIiwgICAgIHJhZDIsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDIyNCwxMjYsNTIsMTIKRU5ECgpORVdGSUxFT1BFTk9SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAwLCAwLCAyODAsIDE2NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19WSVNJQkxFIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8IFdTX0NMSVBDSElMRFJFTgpDQVBUSU9OICLCs+Tq8Ojy6CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVAki2PPq4PLoICbiIixJRENfTE9PS0lOU1RBVElDLDQsNiw0Myw4LCBTU19OT1RJRlkKICAgIENPTUJPQk9YCUlEQ19MT09LSU4sNDksMywxMzIsMTAwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgTFRFWFQJIiIgLCBJRENfVE9PTEJBUlNUQVRJQywgMTgxLCAyLCAxMDIsIDE3LCBOT1QgV1NfR1JPVVAgfCBOT1QgV1NfVklTSUJMRQogICAgTElTVEJPWAlJRENfU0hFTExTVEFUSUMsNCwyMCwyNzIsODUsIExCU19TT1JUIHwgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBMQlNfTVVMVElDT0xVTU4gfCBXU19IU0NST0xMIHwgTk9UIFdTX1ZJU0lCTEUKCiAgICBMVEVYVAkisuwn/yAm9ODp6/M6IixJRENfRklMRU5BTUVTVEFUSUMsNSwxMTIsNDYsOCwgU1NfTk9USUZZCiAgICBFRElUVEVYVAlJRENfRklMRU5BTUUsNTQsMTEwLDE1NSwxMixFU19BVVRPSFNDUk9MTAoKICAgIExURVhUCSLU4Onr6CAm8ujv8yIsSURDX0ZJTEVUWVBFU1RBVElDLDUsMTI4LDQyLDgsIFNTX05PVElGWQogICAgQ09NQk9CT1gJSURDX0ZJTEVUWVBFLDU0LDEyNiwxNTUsNTMsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTAkiy+j45SDk6/8gJvfo8uDt7f8iLElEQ19PUEVOUkVBRE9OTFksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw1NCwxNDUsMTAwLDEwCgogICAgREVGUFVTSEJVVFRPTgkiJsKz5Orw6PLoIiwJCSBJRE9LLDIyMiwxMTAsNTAsMTQKICAgIFBVU0hCVVRUT04JCSLCs+Tss+3gIiwJCSBJRENBTkNFTCwyMjIsMTI4LDUwLDE0CiAgICBQVVNIQlVUVE9OCQkiJsTu4rPk6uAiLAkJIHBzaEhlbHAsMjIyLDE0NSw1MCwxNAp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfQUJPVVRCT1ggICAgICAgICAgICAiJs/w7iDy5fHyIMLo4bPw0uXq6CIKICAgIElEU19ET0NVTUVOVEZPTERFUlMgICAgICLS5eroIOTu6vPs5e3ys+IiCiAgICBJRFNfUEVSU09OQUwgICAgICAgICAgICAizO6/IOTu6vPs5e3y6CIKICAgIElEU19GQVZPUklURVMgICAgICAgICAgICLH4Orr4OTq6CIKICAgIElEU19QQVRIICAgICAgICAgICAgICAgICLR6PHy5ezt6Okg+Ov/9SIKICAgIElEU19ERVNLVE9QICAgICAgICAgICAgICLR8rPr/O3o9v8iCiAgICBJRFNfRk9OVFMgICAgICAgICAgICAgICAi2PDo9PLoIgogICAgSURTX01ZQ09NUFVURVIgICAgICAgICAgIsyz6SDq7uzvJ/7y5fAiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19TWVNURU1GT0xERVJTICAgICAgICLR6PHy5eztsyDy5eroIgogICAgSURTX0xPQ0FMSEFSRFJJVkVTICAgICAgIsvu6uDr/O2zIObu8PHy6rMg5Ojx6ugiCiAgICBJRFNfRklMRU5PVEZPVU5EICAgICAgICAi1ODp6yDt5SDn7eDp5OXt7iIKICAgIElEU19WRVJJRllGSUxFICAgICAgICAgICLP5fDl4rPw8uUsIPfoIO/w4OLo6/zt7iDi6uDn4O3uILPsJ/8g9ODp6/MiCiAgICBJRFNfQ1JFQVRFRklMRSAgICAgICAgICAi1ODp6yDt5SCz8e3zulxu1+gg9e735fLlIMLoIOnu4+4g8fLi7vDo8ug/IgogICAgSURTX09WRVJXUklURUZJTEUgICAgICAgItTg6esg8+blILPx7fO6Llxux+Dss+3o8ugg6e7j7j8iCiAgICBJRFNfSU5WQUxJRF9GSUxFTkFNRV9USVRMRSAizeXis/Dt6Okg8ejs4u7rIOIg5+Dv6PHzIPjr//XzIgogICAgSURTX0lOVkFMSURfRklMRU5BTUUgICAgIrLsJ/8g9ODp6/Mg7eUg7O7m5SDss/Hy6PLoIO3g8fLz7+2zIPHo7OLu6+g6XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8gOiA8ID4gfCIKICAgIElEU19QQVRITk9URVhJU1RJTkcgICAgICLY6//1IO3lILPx7fO6IgogICAgSURTX0ZJTEVOT1RFWElTVElORyAgICAgItTg6esg7eUgs/Ht87oiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19VUEZPTERFUiAgICAgICAgICLC4+7w8yDt4CDu5OjtIPCz4uXt/CIKICAgIElEU19ORVdGT0xERVIgICAgICAgICLR8uLu8Ojy6CDt7uLzIPLl6vMiCiAgICBJRFNfTElTVFZJRVcgICAgICAgICAi0e/o8e7qIgogICAgSURTX1JFUE9SVFZJRVcgICAgICAgIs/u5PDu4ej2syIKICAgIElEU19UT0RFU0tUT1AgICAgICAgICLP5fDl9bPkIO3gIPHys+v87ej2/iIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgUEQzMl9QUklOVF9USVRMRSAgICAgICAixPDz6iIKCiAgICBQRDMyX1ZBTFVFX1VSRUFEQUJMRSAgICAgICAgICAgICAgICAgICLN5ffo8uC67OjpIOXr5ezl7fIiCiAgICBQRDMyX0lOVkFMSURfUEFHRV9SQU5HRSAi1uUg5+3g9+Xt7f8g7eUg6+Xm6PL8IPMg5LPg7+Dn7u2zIPHy7vCz7e7qXG5cCsLi5eSz8vwg5+3g9+Xt7eUg7LPmICVkIPLgICVkIgogICAgUEQzMl9GUk9NX05PVF9BQk9WRV9UTyAgICAgICAgICAgICAgICAix+3g9+Xt7f8gwrLEIO3lIO/u4ujt7e4g7+Xw5eLo+fPi4PLoIMTOOiIKICAgIFBEMzJfTUFSR0lOU19PVkVSTEFQICAgICAgICAgICAgICAgICAgIszl5rMg7+Xw5erw6OLg/vL8IPfoIO/l8OXi6Pnz/vL8IFwK8O7n7LPw6CDv4O/l8PMuXG7C4uXks/L8IL/1IO3g7e7i7iIKICAgIFBEMzJfTlJfT0ZfQ09QSUVTX0VNUFRZICAgICAgICAgICAgICAgIsft4Pfl7e3/INfo8evgIMru77PpIO3lIOzu5uUg4fPy6CBcCu/z8fLo7CIKICAgIFBEMzJfVE9PX0xBUkdFX0NPUElFUyAgICAgICAgICAgICAgICAgItLg6uAg4uXr6OrgIOqz6/zqs/Hy/CDq7u+z6SDt5SBcCuzu5uUg4fPy6CDt4OTw8+ru4uDt4CDC4Pjo7CDv8Ojt8uXw7uwuXG7C4uXks/L8IOft4Pfl7e3/IOyz5iAxIPLgICVkIgogICAgUEQzMl9QUklOVF9FUlJPUiAgICAgICAgICAgICAgICAgICAgICAiwujt6Orr4CDv7uzo6+rgIO/w6O3y5fDgIgogICAgUEQzMl9OT19ERUZBVUxUX1BSSU5URVIgICAgICAgICAgICAgICAizeXs4Log7/Do7fLl8OAsIO/u8fLg4uvl7e7j7iDn4CDu4fPs7uLr5e3t/+wiCiAgICBQRDMyX0NBTlRfRklORF9QUklOVEVSICAgICAgICAgICAgICAgICLN5SDi5ODr7vH8IOft4Ony6CDv8Ojt8uXwIgogICAgUEQzMl9PVVRfT0ZfTUVNT1JZICAgICAgICAgICAgICAgICAgICAizODr7iDv4Own//KzIgogICAgUEQzMl9HRU5FUklDX0VSUk9SICAgICAgICAgICAgICAgICAgICAiwujt6Orr4CjoKSDv7uzo6+rgKOgpIgogICAgUEQzMl9EUklWRVJfVU5LTk9XTiAgICAgICAgICAgICAgICAgICAizeXis+Tu7OjpIOTw4Oni5fAg7/Do7fLl8OAiCiAgICBQRDMyX05PX0RFVklDRVMgICAgICAgICAgICAgICAgICAgICAgICJCZWZvcmUgeW91IGNhbiBwZXJmb3JtIHByaW50ZXItcmVsYXRlZCB0YXNrcyBcCnN1Y2ggYXMgcGFnZSBzZXR1cCBvciBwcmludGluZyBhIGRvY3VtZW50LCB5b3UgbmVlZCB0byBpbnN0YWxsIGEgcHJpbnRlci4gXApQbGVhc2UgaW5zdGFsbCBvbmUgYW5kIHJldHJ5LiIKCiAgICBQRDMyX0RFRkFVTFRfUFJJTlRFUiAgICAgICAgICAgICAgICAgICLP8Ojt8uXwIOfgIO7h8+zu4uvl7e3/7DsgIgogICAgUEQzMl9OUl9PRl9ET0NVTUVOVFNfSU5fUVVFVUUgICAgICAgICAiJWQg5O7q8+zl7fKz4iDzIPfl8OezIgogICAgUEQzMl9NQVJHSU5TX0lOX0lOQ0hFUyAgICAgICAgICAgICAgICAizOXmsyAgW+T+6ezoXSIKICAgIFBEMzJfTUFSR0lOU19JTl9NSUxMSU1FVEVSUyAgICAgICAgICAgIszl5rMgW+zsXSIKICAgIFBEMzJfTUlMTElNRVRFUlMgICAgICAgICAgICAgICAgICAgICAgIuzsIgoKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUkVBRFkgICAgICAgICAgICAgIsPu8u7i7iIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFVU0VEICAgICAgICAgICAgIs/w6Ofz7+jt5e3uOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0VSUk9SICAgICAgICAgICAgICLP7uzo6+rgOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BFTkRJTkdfREVMRVRJT04gICLX5erg7e3/IOLo5ODr5e3t/zsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9KQU0gICAgICAgICAiz+Dvs/Ag5+Dx8vD/4zsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9PVVQgICAgICAgICAizeUg4ujx8uD34Log7+Dv5fDzOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX01BTlVBTF9GRUVEICAgICAgICLP7vHy4OLy5SDv4O+z8CDi8PP37fM7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfUFJPQkxFTSAgICAgIs/w7uHr5ezgIPEg7+Dv5fDu7DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PRkZMSU5FICAgICAgICAgICAiz/Do7fLl8CDiIPDl5ujssyBvZmZsaW5lOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0lPX0FDVElWRSAgICAgICAgICLC4rPkL8Lo4rPkIODq8uji7ejpOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0JVU1kgICAgICAgICAgICAgICLH4Ont//Lo6TsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QUklOVElORyAgICAgICAgICAiyeTlIOTw8+o7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfT1VUUFVUX0JJTl9GVUxMICAgIsvu8u7qIO/l8OXv7uLt5e3o6SDv4O/l8O7sOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX05PVF9BVkFJTEFCTEUgICAgICLN5SDk7vHy8+/t6Ok7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfV0FJVElORyAgICAgICAgICAgItfl6uDt7f87ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUFJPQ0VTU0lORyAgICAgICAgIs7h8O7h6uA7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfSU5JVElBTElaSU5HICAgICAgIsPu8vPi4O3t/zsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19XQVJNSU5HX1VQICAgICAgICAiz/Du4/Cz4jsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19UT05FUl9MT1cgICAgICAgICAi0u7t5fAg7/DoIOqz7fazOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX05PX1RPTkVSICAgICAgICAgICLN5ezgIPLu7eXw4DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQUdFX1BVTlQgICAgICAgICAiUGFnZSBwdW50OyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1VTRVJfSU5URVJWRU5USU9OICLP5fDl8OLg7e4g6u7w6PHy8+Lg9+XsOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX09VVF9PRl9NRU1PUlkgICAgICLM4OvuIO/g7Cf/8rM7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfRE9PUl9PUEVOICAgICAgICAgIsrw6Pjq4CDv8Ojt8uXw4CDis+Tq8Ojy4DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19TRVJWRVJfVU5LTk9XTiAgICAizeXis+Tu7OjpIPHl8OLl8CDv8Ojt8uXw4DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QT1dFUl9TQVZFICAgICAgICAixuji6+Xt7f8g4iDh5efv5fft7uzzIPDl5ujsszsgIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRSAvKiBDb2xvciBuYW1lcyAqLwp7CiAgICBJRFNfQ09MT1JfQkxBQ0sgICAgICLX7vDt6OkiCiAgICBJRFNfQ09MT1JfTUFST09OICAgICLB8PPt4PLt6OkiCiAgICBJRFNfQ09MT1JfR1JFRU4gICAgICLH5evl7ejpIgogICAgSURTX0NPTE9SX09MSVZFICAgICAizuvo4uru4ujpIgogICAgSURTX0NPTE9SX05BVlkgICAgICAi0ejts+kiCiAgICBJRFNfQ09MT1JfUFVSUExFICAgICLP8/Dv8/Dt6OkiCiAgICBJRFNfQ09MT1JfVEVBTCAgICAgICLH5evl7e4t8ejts+kiCiAgICBJRFNfQ09MT1JfR1JBWSAgICAgICLRs/Do6SIKICAgIElEU19DT0xPUl9TSUxWRVIgICAgItHws+Ht6OkiCiAgICBJRFNfQ09MT1JfUkVEICAgICAgICLX5fDi7u3o6SIKICAgIElEU19DT0xPUl9MSU1FICAgICAgItHg6+Dy7uLo6SIKICAgIElEU19DT0xPUl9ZRUxMT1cgICAgIsbu4vLo6SIKICAgIElEU19DT0xPUl9CTFVFICAgICAgIsPu6/Ph6OkiCiAgICBJRFNfQ09MT1JfRlVDSFNJQSAgICLUs+7r5fLu4ujpIgogICAgSURTX0NPTE9SX0FRVUEgICAgICAiwOri4Ozg8OjtIgogICAgSURTX0NPTE9SX1dISVRFICAgICAiwbPr6OkiCn0K