LyoKICogQ29tbW9uIERpYWxvZyBUZXN0IEppZyBFeGVyY2lzZXIKICogUG9ydHVndWVzZSBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDAzIE1hcmNlbG8gRHVhcnRlCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKi8KCkxBTkdVQUdFIExBTkdfUE9SVFVHVUVTRSwgU1VCTEFOR19ERUZBVUxUCgpDbWRsZ3RzdE1lbnUgTUVOVQp7CiBQT1BVUCAiJkFycXVpdm8iCiB7CiAgTUVOVUlURU0gIlNhaSZyIiwgQ01fVV9FWElUCiB9CgogUE9QVVAgIiZDb21tZGxnIgogewogIE1FTlVJVEVNICImQWJyaXIiLCBDTV9VX09QRU4KICBNRU5VSVRFTSAiJlNhbHZhciIsIENNX1VfU0FWRQogIE1FTlVJVEVNIFNFUEFSQVRPUgogIE1FTlVJVEVNICImQ29yZXMiLCBDTV9VX0NPTE9SCiAgTUVOVUlURU0gIiZGb250ZSIsIENNX1VfRk9OVAogIE1FTlVJVEVNIFNFUEFSQVRPUgogIE1FTlVJVEVNICImTG9jYWxpemFyIHRleHRvIiwgQ01fVV9GSU5ECiAgTUVOVUlURU0gIiZTdWJzdGl0dWlyIHRleHRvIiwgQ01fVV9SRVBMQUNFCiAgTUVOVUlURU0gU0VQQVJBVE9SCiAgTUVOVUlURU0gIiZJbXByaW1pciIsIENNX1VfUFJJTlQKIH0KCiBQT1BVUCAiRiZsYWdzIgogewogIE1FTlVJVEVNICImQXJxdWl2byIsIENNX0ZfRklMRQogIE1FTlVJVEVNIFNFUEFSQVRPUgogIE1FTlVJVEVNICImQ29yZXMiLCBDTV9GX0NPTE9SCiAgTUVOVUlURU0gIiZGb250ZSIsIENNX0ZfRk9OVAogIE1FTlVJVEVNIFNFUEFSQVRPUgogIE1FTlVJVEVNICImTG9jYWxpemFyL1N1YnN0aXR1aXIiLCBDTV9GX0ZJTkRSRVBMQUNFCiAgTUVOVUlURU0gU0VQQVJBVE9SCiAgTUVOVUlURU0gIiZJbXByaW1pciIsIENNX0ZfUFJJTlQKIH0KCiBQT1BVUCAiQWomdWRhIgogewogIE1FTlVJVEVNICImVXNvIiwgQ01fSF9VU0FHRQogIE1FTlVJVEVNICImU29icmUiLCBDTV9IX0FCT1VUCiB9Cgp9CgoKQ29sb3JfRmxhZ3NfRGlhbG9nIERJQUxPRyAxMSwgMjAsIDIwNywgMTA3ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OCkNBUFRJT04gIkZsYWdzIGRvIGRp4WxvZGUgZGUgY29yZXMiCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCnsKIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgMTQ4LCA2LCA1MCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkNhbmNlbGFyIiwgSURDQU5DRUwsIDE0OCwgMjQsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBanVkYSIsIENNX1JfSEVMUCwgMTQ4LCA0MiwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDQ19FTkFCTEVIT09LIiwgSV9DQ19FTkFCTEVIT09LLCAxMiwgMTIsIDEyMiwgMTAsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDQ19FTkFCTEVURU1QTEFURSIsIElfQ0NfRU5BQkxFVEVNUExBVEUsIDEyLCAyNCwgMTIyLCAxMCwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNDX0VOQUJMRVRFTVBMQVRFSEFORExFIiwgSV9DQ19FTkFCTEVURU1QTEFURUhBTkRMRSwgMTIsIDM2LCAxMjIsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0NfRlVMTE9QRU4iLCBJX0NDX0ZVTExPUEVOLCAxMiwgNDgsIDEyMiwgMTAsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDQ19QUkVWRU5URlVMTE9QRU4iLCBJX0NDX1BSRVZFTlRGVUxMT1BFTiwgMTIsIDYwLCAxMjIsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0NfUkdCSU5JVCIsIElfQ0NfUkdCSU5JVCwgMTIsIDcyLCAxMjIsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0NfU0hPV0hFTFAiLCBJX0NDX1NIT1dIRUxQLCAxMiwgODQsIDEyMiwgMTAsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKfQoKCkZvbnRfRmxhZ3NfRGlhbG9nIERJQUxPRyA5LCAyMCwgMjA3LCAzMTMKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04KQ0FQVElPTiAiRmxhZ3MgZG8gZGnhbG9nbyBkZSBmb250ZXMiCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCnsKIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgMTQ4LCA2LCA1MCwgMTQKIFBVU0hCVVRUT04gIkNhbmNlbGFyIiwgSURDQU5DRUwsIDE0OCwgMjQsIDUwLCAxNAogUFVTSEJVVFRPTiAiQWp1ZGEiLCBDTV9SX0hFTFAsIDE0OCwgNDIsIDUwLCAxNAogQ0hFQ0tCT1ggIkNGX0FQUExZIiwgSV9DRl9BUFBMWSwgMTIsIDEyLCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX0FOU0lPTkxZIiwgSV9DRl9BTlNJT05MWSwgMTIsIDI0LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX0JPVEgiLCBJX0NGX0JPVEgsIDEyLCAzNiwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9UVE9OTFkiLCBJX0NGX1RUT05MWSwgMTIsIDQ4LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX0VGRkVDVFMiLCBJX0NGX0VGRkVDVFMsIDEyLCA2MCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9FTkFCTEVIT09LIiwgSV9DRl9FTkFCTEVIT09LLCAxMiwgNzIsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfRU5BQkxFVEVNUExBVEUiLCBJX0NGX0VOQUJMRVRFTVBMQVRFLCAxMiwgODQsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfRU5BQkxFVEVNUExBVEVIQU5ETEUiLCBJX0NGX0VOQUJMRVRFTVBMQVRFSEFORExFLCAxMiwgOTYsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfRklYRURQSVRDSE9OTFkiLCBJX0NGX0ZJWEVEUElUQ0hPTkxZLCAxMiwgMTA4LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX0ZPUkNFRk9OVEVYSVNUIiwgSV9DRl9GT1JDRUZPTlRFWElTVCwgMTIsIDEyMCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9JTklUVE9MT0dGT05UU1RSVUNUIiwgSV9DRl9JTklUVE9MT0dGT05UU1RSVUNULCAxMiwgMTMyLCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX0xJTUlUU0laRSIsIElfQ0ZfTElNSVRTSVpFLCAxMiwgMTQ0LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX05PRkFDRVNFTCIsIElfQ0ZfTk9GQUNFU0VMLCAxMiwgMTU2LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX05PT0VNRk9OVFMiLCBJX0NGX05PT0VNRk9OVFMsIDEyLCAxNjgsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfTk9TSU1VTEFUSU9OUyIsIElfQ0ZfTk9TSU1VTEFUSU9OUywgMTIsIDE4MCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9OT1NJWkVTRUwiLCBJX0NGX05PU0laRVNFTCwgMTIsIDE5MiwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9OT1NUWUxFU0VMIiwgSV9DRl9OT1NUWUxFU0VMLCAxMiwgMjA0LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX05PVkVDVE9SRk9OVFMiLCBJX0NGX05PVkVDVE9SRk9OVFMsIDEyLCAyMTYsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfUFJJTlRFUkZPTlRTIiwgSV9DRl9QUklOVEVSRk9OVFMsIDEyLCAyMjgsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfU0NBTEFCTEVPTkxZIiwgSV9DRl9TQ0FMQUJMRU9OTFksIDEyLCAyNDAsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfU0hPV0hFTFAiLCBJX0NGX1NIT1dIRUxQLCAxMiwgMjY0LCAxMjAsIDEwLCBCU19BVVRPQ0hFQ0tCT1ggIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkNGX1NDUkVFTkZPTlRTIiwgSV9DRl9TQ1JFRU5GT05UUywgMTIsIDI1MiwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJDRl9VU0VTVFlMRSIsIElfQ0ZfVVNFU1RZTEUsIDEyLCAyNzYsIDEyMCwgMTAsIEJTX0FVVE9DSEVDS0JPWCAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiQ0ZfV1lTSVdZRyIsIElfQ0ZfV1lTSVdZRywgMTIsIDI4OCwgMTIwLCAxMCwgQlNfQVVUT0NIRUNLQk9YICB8IFdTX1RBQlNUT1AKfQoKCkZpbmRfRmxhZ3NfRGlhbG9nIERJQUxPRyA4LCAyNCwgMjA3LCAzMDYKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04KQ0FQVElPTiAiRmxhZ3MgZG8gZGnhbG9nbyBMb2NhbGl6YXIvU3Vic3RpdHVpciIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKewogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCAxNDgsIDYsIDUwLCAxNAogUFVTSEJVVFRPTiAiQ2FuY2VsYXIiLCBJRENBTkNFTCwgMTQ4LCAyNCwgNTAsIDE0CiBQVVNIQlVUVE9OICJBanVkYSIsIElESEVMUCwgMTQ4LCA0MiwgNTAsIDE0CiBDSEVDS0JPWCAiRlJfRElBTE9HVEVSTSIsIElfRlJfRElBTE9HVEVSTSwgMjQsIDEyLCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfRE9XTiIsIElfRlJfRE9XTiwgMjQsIDI0LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfRU5BQkxFSE9PSyIsIElfRlJfRU5BQkxFSE9PSywgMjQsIDM2LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfRU5BQkxFVEVNUExBVEUiLCBJX0ZSX0VOQUJMRVRFTVBMQVRFLCAyNCwgNDgsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9FTkFCTEVURU1QTEFURUhBTkRMRSIsIElfRlJfRU5BQkxFVEVNUExBVEVIQU5ETEUsIDI0LCA2MCwgMTIwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkZSX0ZJTkRORVhUIiwgSV9GUl9GSU5ETkVYVCwgMjQsIDcyLCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfSElERU1BVENIQ0FTRSIsIElfRlJfSElERU1BVENIQ0FTRSwgMjQsIDg0LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfSElERVdIT0xFV09SRCIsIElfRlJfSElERVdIT0xFV09SRCwgMjQsIDk2LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfSElERVVQRE9XTiIsIElfRlJfSElERVVQRE9XTiwgMjQsIDEwOCwgMTIwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkZSX01BVENIQ0FTRSIsIElfRlJfTUFUQ0hDQVNFLCAyNCwgMTIwLCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfTk9NQVRDSENBU0UiLCBJX0ZSX05PTUFUQ0hDQVNFLCAyNCwgMTMyLCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfTk9VUERPV04iLCBJX0ZSX05PVVBET1dOLCAyNCwgMTQ0LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfTk9XSE9MRVdPUkQiLCBJX0ZSX05PV0hPTEVXT1JELCAyNCwgMTU2LCAxMjAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiRlJfUkVQTEFDRSIsIElfRlJfUkVQTEFDRSwgMjQsIDE2OCwgMTIwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkZSX1JFUExBQ0VBTEwiLCBJX0ZSX1JFUExBQ0VBTEwsIDI0LCAxODAsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9TSE9XSEVMUCIsIElfRlJfU0hPV0hFTFAsIDI0LCAxOTIsIDEyMCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJGUl9XSE9MRVdPUkQiLCBJX0ZSX1dIT0xFV09SRCwgMjQsIDIwNCwgMTIwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ09OVFJPTCAiIiwgLTEsICJzdGF0aWMiLCBTU19CTEFDS1JFQ1QgfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUsIDEyLCAxMiwgMTEsIDEzCiBDT05UUk9MICIiLCAtMSwgInN0YXRpYyIsIFNTX0JMQUNLUkVDVCB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSwgMTIsIDcyLCAxMSwgMTMKIENPTlRST0wgIiIsIC0xLCAic3RhdGljIiwgU1NfQkxBQ0tSRUNUIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFLCAxMiwgMTY4LCAxMSwgMTMKIENPTlRST0wgIiIsIC0xLCAic3RhdGljIiwgU1NfQkxBQ0tSRUNUIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFLCAxMiwgMTgwLCAxMSwgMTMKIENPTlRST0wgIiIsIC0xLCAic3RhdGljIiwgU1NfQkxBQ0tSRUNUIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFLCAyNCwgMjI4LCAxMSwgMTMKIENPTlRST0wgIk1hcmNhcyBmbGFncyBxdWUgc+NvIGNvbmZpZ3VyYWRvcyBwZWxvIHNpc3RlbWEgZSBkZXZlbSBzZXIgbGltcG9zIHBlbG8gdXN14XJpby4iLCAtMSwgInN0YXRpYyIsIFNTX0xFRlQgfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUsIDQ4LCAyMjgsIDk4LCAzNgp9CgoKUHJpbnRfRmxhZ3NfRGlhbG9nIERJQUxPRyA0LCAxNywgMjM5LCAyODcKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkZsYWdzIGRvIGRp4WxvZ28gSW1wcmltaXIvQ29uZmlndXJhciBJbXByZXNz428iCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCnsKIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgMTgwLCA2LCA1MCwgMTQKIFBVU0hCVVRUT04gIkNhbmNlbGFyIiwgSURDQU5DRUwsIDE4MCwgMjQsIDUwLCAxNAogUFVTSEJVVFRPTiAiQWp1ZGEiLCBDTV9SX0hFTFAsIDE4MCwgNDIsIDUwLCAxNAogQ0hFQ0tCT1ggIlBEX0FMTFBBR0VTIiwgSV9QRF9BTExQQUdFUywgMTIsIDEyLCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfQ09MTEFURSIsIElfUERfQ09MTEFURSwgMTIsIDI0LCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfRElTQUJMRVBSSU5UVE9GSUxFIiwgSV9QRF9ESVNBQkxFUFJJTlRUT0ZJTEUsIDEyLCAzNiwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX0VOQUJMRVBSSU5USE9PSyIsIElfUERfRU5BQkxFUFJJTlRIT09LLCAxMiwgNDgsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9FTkFCTEVQUklOVFRFTVBMQVRFIiwgSV9QRF9FTkFCTEVQUklOVFRFTVBMQVRFLCAxMiwgNjAsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9FTkFCTEVQUklOVFRFTVBMQVRFSEFORExFIiwgSV9QRF9FTkFCTEVQUklOVFRFTVBMQVRFSEFORExFLCAxMiwgNzIsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9FTkFCTEVTRVRVUEhPT0siLCBJX1BEX0VOQUJMRVNFVFVQSE9PSywgMTIsIDg0LCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfRU5BQkxFU0VUVVBURU1QTEFURSIsIElfUERfRU5BQkxFU0VUVVBURU1QTEFURSwgMTIsIDk2LCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfRU5BQkxFU0VUVVBURU1QTEFURUhBTkRMRSIsIElfUERfRU5BQkxFU0VUVVBURU1QTEFURUhBTkRMRSwgMTIsIDEwOCwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX0hJREVQUklOVFRPRklMRSIsIElfUERfSElERVBSSU5UVE9GSUxFLCAxMiwgMTIwLCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfTk9QQUdFTlVNUyIsIElfUERfTk9QQUdFTlVNUywgMTIsIDEzMiwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX05PU0VMRUNUSU9OIiwgSV9QRF9OT1NFTEVDVElPTiwgMTIsIDE0NCwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX05PV0FSTklORyIsIElfUERfTk9XQVJOSU5HLCAxMiwgMTU2LCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfUEFHRU5VTVMiLCBJX1BEX1BBR0VOVU1TLCAxMiwgMTY4LCAxNDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiUERfUFJJTlRTRVRVUCIsIElfUERfUFJJTlRTRVRVUCwgMTIsIDE4MCwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX1BSSU5UVE9GSUxFIiwgSV9QRF9QUklOVFRPRklMRSwgMTIsIDE5MiwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX1JFVFVSTkRDIiwgSV9QRF9SRVRVUk5EQywgMTIsIDIwNCwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX1JFVFVSTkRFRkFVTFQiLCBJX1BEX1JFVFVSTkRFRkFVTFQsIDEyLCAyMTYsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9SRVRVUk5JQyIsIElfUERfUkVUVVJOSUMsIDEyLCAyMjgsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJQRF9TRUxFQ1RJT04iLCBJX1BEX1NFTEVDVElPTiwgMTIsIDI0MCwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX1NIT1dIRUxQIiwgSV9QRF9TSE9XSEVMUCwgMTIsIDI1MiwgMTQ0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIlBEX1VTRURFVk1PREVDT1BJRVMiLCBJX1BEX1VTRURFVk1PREVDT1BJRVMsIDEyLCAyNjQsIDE0NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKfQoKRmlsZV9GbGFnc19EaWFsb2cgRElBTE9HIDYsIDE1LCAyMDcsIDIyNwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiRmxhZ3MgZG8gQWJyaXIvU2FsdmFyIGFycXVpdm8iCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCnsKIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgMTQ4LCA2LCA1MCwgMTQKIFBVU0hCVVRUT04gIkNhbmNlbGFyIiwgSURDQU5DRUwsIDE0OCwgMjQsIDUwLCAxNAogUFVTSEJVVFRPTiAiQWp1ZGEiLCBDTV9SX0hFTFAsIDE0OCwgNDIsIDUwLCAxNAogQ0hFQ0tCT1ggIk9GTl9BTExPV01VTFRJU0VMRUNUIiwgSV9PRk5fQUxMT1dNVUxUSVNFTEVDVCwgMTIsIDEyLCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX0NSRUFURVBST01QVCIsIElfT0ZOX0NSRUFURVBST01QVCwgMTIsIDI0LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX0VOQUJMRUhPT0siLCBJX09GTl9FTkFCTEVIT09LLCAxMiwgMzYsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fRU5BQkxFVEVNUExBVEUiLCBJX09GTl9FTkFCTEVURU1QTEFURSwgMTIsIDQ4LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX0VOQUJMRVRFTVBMQVRFSEFORExFIiwgSV9PRk5fRU5BQkxFVEVNUExBVEVIQU5ETEUsIDEyLCA2MCwgMTMyLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk9GTl9FWFRFTlNJT05ESUZGRVJFTlQiLCBJX09GTl9FWFRFTlNJT05ESUZGRVJFTlQsIDEyLCA3MiwgMTMyLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIk9GTl9GSUxFTVVTVEVYSVNUIiwgSV9PRk5fRklMRU1VU1RFWElTVCwgMTIsIDg0LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX0hJREVSRUFET05MWSIsIElfT0ZOX0hJREVSRUFET05MWSwgMTIsIDk2LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX05PQ0hBTkdFRElSIiwgSV9PRk5fTk9DSEFOR0VESVIsIDEyLCAxMDgsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fTk9SRUFET05MWVJFVFVSTiIsIElfT0ZOX05PUkVBRE9OTFlSRVRVUk4sIDEyLCAxMjAsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fTk9URVNURklMRUNSRUFURSIsIElfT0ZOX05PVEVTVEZJTEVDUkVBVEUsIDEyLCAxMzIsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fTk9WQUxJREFURSIsIElfT0ZOX05PVkFMSURBVEUsIDEyLCAxNDQsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fT1ZFUldSSVRFUFJPTVBUIiwgSV9PRk5fT1ZFUldSSVRFUFJPTVBULCAxMiwgMTU2LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX1BBVEhNVVNURVhJU1QiLCBJX09GTl9QQVRITVVTVEVYSVNULCAxMiwgMTY4LCAxMzIsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiT0ZOX1JFQURPTkxZIiwgSV9PRk5fUkVBRE9OTFksIDEyLCAxODAsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fU0hBUkVBV0FSRSIsIElfT0ZOX1NIQVJFQVdBUkUsIDEyLCAxOTIsIDEzMiwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJPRk5fU0hPV0hFTFAiLCBJX09GTl9TSE9XSEVMUCwgMTIsIDIwNCwgMTMyLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAp9CgpBYm91dERpYWxvZyBESUFMT0cgNiwgMTUsIDE5NCwgMTE5ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTb2JyZSIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKewogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCA3MiwgOTYsIDUwLCAxNAogTFRFWFQgIkNvbW1vbiBEaWFsb2cgVGVzdCBKaWcgRXhlcmNpc2VyLCB2ZXJz428gMS4yMCIsIC0xLCAxMywgMzYsIDE2OCwgMTIKIExURVhUICIoYykgMTk5OS0yMDAwLCBFcmljIFdpbGxpYW1zLiAgRGlyZWl0b3MgZ2FyYW50aWRvcyBwZWxvIGxpY2Vu52EgZG8gV0lORS4gIERvbid0IGhvYXJkIGNvZGUuLi5zaGFyZSBpdCIsIC0xLCAxOCwgNjAsIDE1NywgMjQKIElDT04gIkFib3V0SWNvbiIsIC0xLCA4NCwgMTIsIDE4LCAyMAp9CgpVc2FnZURpYWxvZyBESUFMT0cgMTgzLCAyMiwgMTkwLCAzMDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlVzbyIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKewogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCA3MCwgMjc2LCA1MCwgMTQKIExURVhUICJDb21tb24gRGlhbG9nIFRlc3QgSmlnIEV4ZXJjaXNlciwgdmVyc+NvIDEuMjAiLCAtMSwgMTMsIDQ4LCAxNjgsIDEyCiBMVEVYVCAiRXN0YSBmZXJyYW1lbnRhIHRlc3RhIENPTU1ETEcgcGFyYSBvIFdpbmUuIiwgLTEsIDEyLCA3MiwgMTY4LCAxMgogTFRFWFQgIkZsYWdzIHPjbyBlc3BlY2lmaWNhZG9zIG5vIG1lbnUgRmxhZ3MuIiwgLTEsIDEyLCA5NiwgMTY4LCAxMgogTFRFWFQgIkRp4WxvZ28gZGUgY29yZXMgbXVkYSBhIGNvciBkZSBmdW5kby4iLCAtMSwgMTIsIDEyMCwgMTY4LCAxMgogTFRFWFQgIkRp4WxvZ28gZGUgZm9udGVzIG11ZGEgdG9kYXMgYXMgZm9udGVzLCBjb3JlcyBkYXMgZm9udGVzIHNlIENGX0VGRkVDVFMgZXN04SBzZWxlY2lvbmFkby4iLCAtMSwgMTIsIDE0NCwgMTY4LCAyNAogTFRFWFQgIk8gY2FudG8gc3VwZXJpb3IgZXNxdWVyZG8gaW5kaWNhIG8gY2FtaW5obyBjb21wbGV0byBlIG8gdO10dWxvIGRvcyD6bHRpbW8gc3VjZXNzbyBkZSBBYnJpciBvdSBTYWx2YXIuIiwgLTEsIDEyLCAxODAsIDE2OCwgMjQKIExURVhUICIoYykgMTk5OS0yMDAwLCBFcmljIFdpbGxpYW1zLiAgRGlyZWl0b3MgZ2FyYW50aWRvcyBwZWxvIGxpY2Vu52EgZG8gV0lORS4gIERvbid0IGhvYXJkIGNvZGUuLi5zaGFyZSBpdCIsIC0xLCAxOCwgNjAsIDE1NywgMjQKIElDT04gIkFib3V0SWNvbiIsIC0xLCA4NiwgMTIsIDE4LCAyMAogQ09OVFJPTCAiIiwgLTEsICJzdGF0aWMiLCBTU19CTEFDS1JFQ1QgfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUsIDEyLCAyMTYsIDE2OCwgMgp9Cg==