LyoKICogIFRhc2sgTWFuYWdlcgogKiAgR2VybWFuIExhbmd1YWdlIFN1cHBvcnQKICoKICogIENvcHlyaWdodCAyMDA1IEhlbm5pbmcgR2VyaGFyZHQKICoKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19HRVJNQU4sIFNVQkxBTkdfREVGQVVMVAoKLyoKIE1lbnUKKi8KCklEUl9UQVNLTUFOQUdFUiBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiJkRhdGVpIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk5ldWVuIFRhc2sgKEF1c2b8aHJlbi4uLikiLCAgICAgICAgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJCJmVlbmRlIFRhc2sgTWFuYWdlciIsICAgICAgICAgIElEX0ZJTEVfRVhJVAogICAgRU5ECiAgICBQT1BVUCAiJk9wdGlvbmVuIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkltbWVyIGltIFZvcmRlcmdydW5kIiwgICAgICAgICAgICAgIElEX09QVElPTlNfQUxXQVlTT05UT1AKICAgICAgICAsIENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiJk1pbmltaWVyZW4gbmFjaCBTdGFydCIsICAgICAgICAgICAgSURfT1BUSU9OU19NSU5JTUlaRU9OVVNFCiAgICAgICAgLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZWZXJzdGVja2VuLCB3ZW5uIG1pbmltaWVydCIsICAgICAgICBJRF9PUFRJT05TX0hJREVXSEVOTUlOSU1JWkVECiAgICAgICAgLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZaZWlnZSAxNi1iaXQgVGFza3MgYW4iLCAgICAgICAgICBJRF9PUFRJT05TX1NIT1cxNkJJVFRBU0tTCiAgICAgICAgLCBDSEVDS0VECiAgICBFTkQKICAgIFBPUFVQICImQW5zaWNodCIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIkFrdHVhbGlzaWVyZSAmamV0enQiLCAgICAgICAgICAgICAgICBJRF9WSUVXX1JFRlJFU0gKICAgICAgICBQT1BVUCAiJkFrdHVhbGlzaWVydW5nc2dlc2Nod2luZGlna2VpdGUiCiAgICAgICAgQkVHSU4KICAgICAgICAgICAgTUVOVUlURU0gIiZIb2NoIiwgICAgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfVVBEQVRFU1BFRURfSElHSAogICAgICAgICAgICBNRU5VSVRFTSAiJk5vcm1hbCIsICAgICAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9OT1JNQUwKICAgICAgICAgICAgLCBDSEVDS0VECiAgICAgICAgICAgIE1FTlVJVEVNICJOaWUmZHJpZyIsICAgICAgICAgICAgICAgICAgICAgICAgSURfVklFV19VUERBVEVTUEVFRF9MT1cKICAgICAgICAgICAgTUVOVUlURU0gIiZBbmdlaGFsdGVuIiwgICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX1VQREFURVNQRUVEX1BBVVNFRAoKICAgICAgICBFTkQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkdyb99lIFN5bWJvbGUiLCAgICAgICAgICAgICAgICBJRF9WSUVXX0xBUkdFCiAgICAgICAgTUVOVUlURU0gIiZLbGVpbmUgU3ltYm9sZSIsICAgICAgICAgICAgICAgIElEX1ZJRVdfU01BTEwKICAgICAgICBNRU5VSVRFTSAiJkRldGFpbHMiLCAgICAgICAgICAgICAgICAgICAgSURfVklFV19ERVRBSUxTLCBDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIiZX5GhsZSBTcGFsdGVuLi4uIiwgICAgICAgICAgSURfVklFV19TRUxFQ1RDT0xVTU5TCiAgICAgICAgUE9QVVAgIiZDUFUgVmVybGF1ZiIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiJkVpbiBHcmFwaCwgQWxsZSBDUFVzIiwgICAgICAgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSEFMTAoKICAgICAgICAgICAgTUVOVUlURU0gIkVpbiBHcmFwaCAmcHJvIENQVSIsICAgICAgICAgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSFBFUkNQVQogICAgICAgICAgICAsIENIRUNLRUQKICAgICAgICBFTkQKICAgICAgICBNRU5VSVRFTSAiJlplaWdlIEtlcm5lbCBaZWl0ZW4gYW4iLCAgICAgICAgICBJRF9WSUVXX1NIT1dLRVJORUxUSU1FUwogICAgRU5ECiAgICBQT1BVUCAiJkZlbnN0ZXIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICIm3GJlcmVpbmFuZGVyIiwgICAgICAgICAgSURfV0lORE9XU19USUxFSE9SSVpPTlRBTExZCiAgICAgICAgTUVOVUlURU0gIiZOZWJlbmVpbmFuZGVyIiwgICAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVWRVJUSUNBTExZCiAgICAgICAgTUVOVUlURU0gIiZNaW5pbWllcmVuIiwgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NSU5JTUlaRQogICAgICAgIE1FTlVJVEVNICJNYSZ4bWltaWVyZW4iLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01BWElNSVpFCiAgICAgICAgTUVOVUlURU0gIkhpbnRlciZlaW5hbmRlciIsICAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX0NBU0NBREUKICAgICAgICBNRU5VSVRFTSAiJkluIGRlciBWb3JkZXJncnVuZCBob2xlbiIsICAgICAgICAgICAgIElEX1dJTkRPV1NfQlJJTkdUT0ZST05UCiAgICBFTkQKICAgIFBPUFVQICImSGlsZmUiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJUYXNrIE1hbmFnZXIgJkhpbGZlIFRoZW1lbiIsICAgSURfSEVMUF9UT1BJQ1MKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJtxiZXIgVGFzayBNYW5hZ2VyIiwgICAgICAgICBJRF9IRUxQX0FCT1VUCiAgICBFTkQKRU5ECgpJRFJfV0lORE9XU01FTlUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgTUVOVUlURU0gIibcYmVyZWluYW5kZXIiLCAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkKICAgIE1FTlVJVEVNICImTmViZW5laW5hbmRlciIsICAgICAgICAgICAgSURfV0lORE9XU19USUxFVkVSVElDQUxMWQogICAgTUVOVUlURU0gIiZNaW5pbWllcmVuIiwgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NSU5JTUlaRQogICAgTUVOVUlURU0gIk1hJnhtaW1pZXJlbiIsICAgICAgICAgICAgICAgICAgIElEX1dJTkRPV1NfTUFYSU1JWkUKICAgIE1FTlVJVEVNICJIaW50ZXImZWluYW5kZXIiLCAgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19DQVNDQURFCiAgICBNRU5VSVRFTSAiJkluIGRlbiBWb3JkZXJncnVuZCBob2xlbiIsICAgICAgICAgICAgIElEX1dJTkRPV1NfQlJJTkdUT0ZST05UCkVORAoKSURSX0FQUExJQ0FUSU9OX1BBR0VfQ09OVEVYVDEgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgogICAgUE9QVVAgIkRVTU1ZIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJk5ldWVuIFRhc2sgKEF1c2b8aHJlbi4uLikiLCAgICAgICAgICBJRF9GSUxFX05FVwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImR3Jv32UgU3ltYm9sZSIsICAgICAgICAgICAgICAgIElEX1ZJRVdfTEFSR0UKICAgICAgICBNRU5VSVRFTSAiJktsZWluZSBTeW1ib2xlIiwgICAgICAgICAgICAgICAgSURfVklFV19TTUFMTAogICAgICAgIE1FTlVJVEVNICImRGV0YWlscyIsICAgICAgICAgICAgICAgICAgICBJRF9WSUVXX0RFVEFJTFMsIENIRUNLRUQKICAgIEVORApFTkQKCklEUl9BUFBMSUNBVElPTl9QQUdFX0NPTlRFWFQyIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICJEVU1NWSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZXZWNoc2xlIHp1IiwgICAgICAgICAgICAgICAgICBJRF9BUFBMSUNBVElPTl9QQUdFX1NXSVRDSFRPCiAgICAgICAgTUVOVUlURU0gIiZJbiBkZW4gVm9yZGVyZ3J1bmQgYnJpbmdlbiIsICAgICAgICAgICAgIElEX1dJTkRPV1NfQlJJTkdUT0ZST05UCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIibcYmVyZWluYW5kZXIiLCAgICAgICAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkKICAgICAgICBNRU5VSVRFTSAiJk5lYmVuZWluYW5kZXIiLCAgICAgICAgICAgIElEX1dJTkRPV1NfVElMRVZFUlRJQ0FMTFkKICAgICAgICBNRU5VSVRFTSAiJk1pbmltaWVyZW4iLCAgICAgICAgICAgICAgICAgICBJRF9XSU5ET1dTX01JTklNSVpFCiAgICAgICAgTUVOVUlURU0gIk1hJnhpbWllcmVuIiwgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19NQVhJTUlaRQogICAgICAgIE1FTlVJVEVNICJIaW50ZXImZWluYW5kZXIiLCAgICAgICAgICAgICAgICAgICAgSURfV0lORE9XU19DQVNDQURFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlRhc2sgJmJlZW5kZW4iLCAgICAgICAgICAgICAgICAgICBJRF9BUFBMSUNBVElPTl9QQUdFX0VORFRBU0sKICAgICAgICBNRU5VSVRFTSAiJkdlaGUgenUgUHJvemXfIiwgICAgICAgICAgICAgIElEX0FQUExJQ0FUSU9OX1BBR0VfR09UT1BST0NFU1MKICAgIEVORApFTkQKCklEUl9UUkFZX1BPUFVQIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICJEVU1NWSIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZXaWVkZXJoZXJzdGVsbGVuIiwgICAgICAgICAgICAgICBJRF9SRVNUT1JFCiAgICAgICAgTUVOVUlURU0gIiZTY2hsaWXfZW4iLCAgICAgICAgICAgICAgICAgICAgICBJRF9GSUxFX0VYSVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkltbWVyIGltIFZvcmRlcmdydW5kIiwgICAgICAgICAgIElEX09QVElPTlNfQUxXQVlTT05UT1AsIENIRUNLRUQKICAgIEVORApFTkQKCklEUl9QUk9DRVNTX1BBR0VfQ09OVEVYVCBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiRFVNTVkiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJQcm96Zd8gJmJlZW5kZW4iLCAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfRU5EUFJPQ0VTUwogICAgICAgIE1FTlVJVEVNICJCZWVuZGUgUHJvemXfJmJhdW0iLCAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1NUUkVFCgogICAgICAgIE1FTlVJVEVNICImRGVidWdnZW4iLCAgICAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfREVCVUcKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBQT1BVUCAiU2V0emUgJlByaW9yaXTkdCIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiJkVjaHR6ZWl0IiwgICAgICAgICAgICAgICAgICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX1JFQUxUSU1FCiAgICAgICAgICAgIE1FTlVJVEVNICImSG9jaCIsICAgICAgICAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfSElHSAogICAgICAgICAgICBNRU5VSVRFTSAiJkj2aGVyIGFscyBOb3JtYWwiLCAgICAgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfQUJPVkVOT1JNQUwKICAgICAgICAgICAgTUVOVUlURU0gIiZOb3JtYWwiLCAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9OT1JNQUwKICAgICAgICAgICAgTUVOVUlURU0gIk4maWVkcmlnZXIgYWxzIE5vcm1hbCIsICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9CRUxPV05PUk1BTAogICAgICAgICAgICBNRU5VSVRFTSAiTmllJmRyaWciLCAgICAgICAgICAgICAgICAgICAgICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9MT1cKICAgICAgICBFTkQKICAgICAgICBNRU5VSVRFTSAiU2V0emUgQWZmaW5pdOR0Li4uIiwgICAgICAgICAgICBJRF9QUk9DRVNTX1BBR0VfU0VUQUZGSU5JVFkKCSAgICAgIE1FTlVJVEVNICJFZGl0aWVyZSBEZWJ1ZyAmS2Fu5GxlLi4uIiwJSURfUFJPQ0VTU19QQUdFX0RFQlVHQ0hBTk5FTFMKICAgIEVORApFTkQKCi8qCiBEaWFsb2cKKi8KCklERF9BQk9VVEJPWCBESUFMT0cgRElTQ0FSREFCTEUgIDIyLCAxNywgMjU5LCAyMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gItxiZXIgVGFzayBNYW5hZ2VyIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIlRhc2sgTWFuYWdlciB2MS4wXG5Db3B5cmlnaHQgKEMpIDE5OTkgLSAyMDAxXG5ieSBCcmlhbiBQYWxtZXIgKGJyaWFucEByZWFjdG9zLm9yZykiLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBXU19HUk9VUCw1MywyOCwKICAgICAgICAgICAgICAgICAgICAxMjIsMjYKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTgzLDE4OSw0NCwxNCxXU19HUk9VUAogICAgSUNPTiAgICAgICAgICAgIElESV9UQVNLTUFOQUdFUixJRENfU1RBVElDLDE5LDMwLDIwLDIwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0xJQ0VOU0VfRURJVCw1Myw2MywxNzQsMTA3LEVTX01VTFRJTElORSB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBXU19WU0NST0xMCkVORAoKSUREX1RBU0tNR1JfRElBTE9HIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjY0LCAyNDYKU1RZTEUgRFNfQ0VOVEVSIHwgV1NfTUlOSU1JWkVCT1ggfCBXU19NQVhJTUlaRUJPWCB8IFdTX1BPUFVQIHwKICAgIFdTX0NMSVBTSUJMSU5HUyB8IFdTX0NMSVBDSElMRFJFTiB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwKICAgIFdTX1RISUNLRlJBTUUKQ0FQVElPTiAiVGFzayBNYW5hZ2VyIgpNRU5VIElEUl9UQVNLTUFOQUdFUgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIlRhYjEiLElEQ19UQUIsIlN5c1RhYkNvbnRyb2wzMiIsV1NfVEFCU1RPUCwzLDMsMjU3LDIyOApFTkQKCklERF9BUFBMSUNBVElPTl9QQUdFIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjQ3LCAyMTAKU1RZTEUgRFNfQ09OVFJPTCB8IFdTX0NISUxEIHwgV1NfQ0xJUENISUxEUkVOCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiTGlzdDIiLElEQ19BUFBMSVNULCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0hPV1NFTEFMV0FZUyB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsNyw3LDIzMywxNzcKICAgIFBVU0hCVVRUT04gICAgICAiJk5ldWVyIFRhc2suLi4iLElEQ19ORVdUQVNLLDE4NywxODksNTMsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJldlY2hzbGUgenUiLElEQ19TV0lUQ0hUTywxMzEsMTg5LDUzLDE0LFdTX0RJU0FCTEVECiAgICBQVVNIQlVUVE9OICAgICAgIiZCZWVuZGUgVGFzayIsSURDX0VORFRBU0ssNzUsMTg5LDUzLDE0LFdTX0RJU0FCTEVECkVORAoKSUREX1BST0NFU1NfUEFHRSBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI0NywgMjEwClNUWUxFIERTX0NPTlRST0wgfCBXU19DSElMRCB8IFdTX0NMSVBDSElMRFJFTgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIkxpc3QyIixJRENfUFJPQ0VTU0xJU1QsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfAogICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBMVlNfU0hPV1NFTEFMV0FZUyB8IExWU19PV05FUkRBVEEgfAogICAgICAgICAgICAgICAgICAgIFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsNyw3LDIzMywxNzcKICAgIFBVU0hCVVRUT04gICAgICAiJkJlZW5kZSBQcm96ZXNzIixJRENfRU5EUFJPQ0VTUywxNzEsMTg5LDY5LDE0CiAgICBDT05UUk9MICAgICAgICAgIiZaZWlnZSBQcm96ZXNzZSBhbGxlciBCZW51dHplcm4gYW4iLElEQ19TSE9XQUxMUFJPQ0VTU0VTLAogICAgICAgICAgICAgICAgICAgICJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNywxOTEsMTIxLDEwCkVORAoKLypJRERfUEVSRk9STUFOQ0VfUEFHRSBESUFMT0dFWCAwLCAwLCAyNDcsIDIxMCovCklERF9QRVJGT1JNQU5DRV9QQUdFIERJQUxPR0VYIERJU0NBUkRBQkxFICAwLCAwLCAyNDcsIDIxMApTVFlMRSBEU19DT05UUk9MIHwgV1NfQ0hJTEQgfCBXU19DTElQQ0hJTERSRU4KRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICJDUFUtQXVzbGFzdHVuZyIsSURDX0NQVV9VU0FHRV9GUkFNRSw1LDUsNjAsNTQsV1NfVEFCU1RPUCwgV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiU3BlaWNoZXJhdXNsLiIsSURDX01FTV9VU0FHRV9GUkFNRSw1LDYzLDYwLDU0LEJTX0xFRlRURVhULCBXU19FWF9UUkFOU1BBUkVOVAogICAgR1JPVVBCT1ggICAgICAgICJJbnNnZXNhbXQiLElEQ19UT1RBTFNfRlJBTUUsNSwxMjIsMTExLDM5LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiQ29tbWl0IENoYXJnZSAoSykiLElEQ19DT01NSVRfQ0hBUkdFX0ZSQU1FLDUsMTY2LDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIlBoeXNpa2FsaXNjaGVyIFNwZWljaGVyIChLKSIsSURDX1BIWVNJQ0FMX01FTU9SWV9GUkFNRSwxMzEsMTIyLDExMSwzOSwwLFdTX0VYX1RSQU5TUEFSRU5UCiAgICBHUk9VUEJPWCAgICAgICAgIktlcm5lbCBTcGVpY2hlciAoSykiLElEQ19LRVJORUxfTUVNT1JZX0ZSQU1FLDEzMSwxNjYsMTExLDM5LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIExURVhUICAgICAgICAgICAiSGFuZGxlcyIsSURTX1RPVEFMU19IQU5ETEVfQ09VTlQsMTIsMTMxLDI3LDgKICAgIExURVhUICAgICAgICAgICAiVGhyZWFkcyIsSURTX1RPVEFMU19USFJFQURfQ09VTlQsMTIsMTQwLDI3LDgKICAgIExURVhUICAgICAgICAgICAiUHJvemVzc2UiLElEU19UT1RBTFNfUFJPQ0VTU19DT1VOVCwxMiwxNDksMzQsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19UT1RBTFNfSEFORExFX0NPVU5ULDY1LDEzMSw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfVE9UQUxTX1RIUkVBRF9DT1VOVCw2NSwxNDAsNDUsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1RPVEFMU19QUk9DRVNTX0NPVU5ULDY1LDE0OSw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIExURVhUICAgICAgICAgICAiSW5zZ2VzYW10IixJRFNfQ09NTUlUX0NIQVJHRV9UT1RBTCwxMiwxNzUsMzcsOAogICAgTFRFWFQgICAgICAgICAgICJMaW1pdCIsSURTX0NPTU1JVF9DSEFSR0VfTElNSVQsMTIsMTg0LDE1LDgKICAgIExURVhUICAgICAgICAgICAiU3BpdHplIixJRFNfQ09NTUlUX0NIQVJHRV9QRUFLLDEyLDE5MywzNCw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX0NPTU1JVF9DSEFSR0VfVE9UQUwsNjUsMTc0LDQ1LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgRURJVFRFWFQgICAgICAgIElEQ19DT01NSVRfQ0hBUkdFX0xJTUlULDY1LDE4NCw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfQ09NTUlUX0NIQVJHRV9QRUFLLDY1LDE5Myw0NSw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIExURVhUICAgICAgICAgICAiSW5zZ2VzYW10IixJRFNfUEhZU0lDQUxfTUVNT1JZX1RPVEFMLDEzNywxMzEsMzcsOAogICAgTFRFWFQgICAgICAgICAgICJEdXJjaHNjaG5pdHRsaWNoIixJRFNfUEhZU0lDQUxfTUVNT1JZX0FWQUlMQUJMRSwxMzcsMTQwLDYwLDgKICAgIExURVhUICAgICAgICAgICAiU3lzdGVtIENhY2hlIixJRFNfUEhZU0lDQUxfTUVNT1JZX1NZU1RFTV9DQUNIRSwxMzcsMTQ5LDQ2LDgKICAgIEVESVRURVhUICAgICAgICBJRENfUEhZU0lDQUxfTUVNT1JZX1RPVEFMLDE4NSwxMzEsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX1BIWVNJQ0FMX01FTU9SWV9BVkFJTEFCTEUsMjA1LDE0MCwyOCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfUEhZU0lDQUxfTUVNT1JZX1NZU1RFTV9DQUNIRSwxODUsMTQ5LDQ4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgTFRFWFQgICAgICAgICAgICJJbnNnZXNhbXQiLElEU19LRVJORUxfTUVNT1JZX1RPVEFMLDEzNywxNzQsMzcsOAogICAgTFRFWFQgICAgICAgICAgICJBdXNnZWxhZ2VydCIsSURTX0tFUk5FTF9NRU1PUllfUEFHRUQsMTM3LDE4NCwyMSw4CiAgICBMVEVYVCAgICAgICAgICAgIk5pY2h0YXVzZ2VsYWdlcnQiLElEU19LRVJORUxfTUVNT1JZX05PTlBBR0VELDEzNywxOTMsNjQsOAogICAgRURJVFRFWFQgICAgICAgIElEQ19LRVJORUxfTUVNT1JZX1RPVEFMLDE4NSwxNzQsNDgsOCxFU19SSUdIVCB8CiAgICAgICAgICAgICAgICAgICAgRVNfUkVBRE9OTFkgfCBFU19OVU1CRVIgfCBOT1QgV1NfQk9SREVSCiAgICBFRElUVEVYVCAgICAgICAgSURDX0tFUk5FTF9NRU1PUllfUEFHRUQsMTg1LDE4NCw0OCw4LEVTX1JJR0hUIHwKICAgICAgICAgICAgICAgICAgICBFU19SRUFET05MWSB8IEVTX05VTUJFUiB8IE5PVCBXU19CT1JERVIKICAgIEVESVRURVhUICAgICAgICBJRENfS0VSTkVMX01FTU9SWV9OT05QQUdFRCwxOTUsMTkzLDM4LDgsRVNfUklHSFQgfAogICAgICAgICAgICAgICAgICAgIEVTX1JFQURPTkxZIHwgRVNfTlVNQkVSIHwgTk9UIFdTX0JPUkRFUgogICAgR1JPVVBCT1ggICAgICAgICJWZXJsYXVmIGRlciBDUFUtQXVzbGFzdHVuZyIsSURDX0NQVV9VU0FHRV9ISVNUT1JZX0ZSQU1FLDc0LDUsMTY4LDU0LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIEdST1VQQk9YICAgICAgICAiVmVybGF1ZiBkZXIgU3BlaWNoZXJhdXNsYXN0dW5nIixJRENfTUVNT1JZX1VTQUdFX0hJU1RPUllfRlJBTUUsNzQsNjMsMTY4LDU0LDAsV1NfRVhfVFJBTlNQQVJFTlQKICAgIFBVU0hCVVRUT04gICAgICAiQ1BVLUF1c2xhc3R1bmcgQW56ZWlnZSIsSURDX0NQVV9VU0FHRV9HUkFQSCwxMiwxNyw0NywzNywwLAoJCSAgICBXU19FWF9DTElFTlRFREdFCiAgICBQVVNIQlVUVE9OICAgICAgIlNwZWljaGVyYXVzbGFzdHVuZyBBbnplaWdlIixJRENfTUVNX1VTQUdFX0dSQVBILDEyLDc1LDQ3LDM3LDAsCiAgICAgICAgICAgICAgICAgICAgV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJDUFUtQXVzbGFzdHVuZ3N2ZXJsYXVmIixJRENfQ1BVX1VTQUdFX0hJU1RPUllfR1JBUEgsODEsMTcsCiAgICAgICAgICAgICAgICAgICAgMTUzLDM3LDAsV1NfRVhfQ0xJRU5URURHRQogICAgUFVTSEJVVFRPTiAgICAgICJTcGVpY2hlcmF1c2xhc3R1bmdzdmVybGF1ZiIsSURDX01FTV9VU0FHRV9ISVNUT1JZX0dSQVBILDgxLDc1LAogICAgICAgICAgICAgICAgICAgIDE1MywzNywwLFdTX0VYX0NMSUVOVEVER0UKRU5ECgpJRERfREVCVUdfQ0hBTk5FTFNfRElBTE9HIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjQ3LCAyMTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiRGVidWcgS2Fu5GxlIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIkxpc3QyIixJRENfREVCVUdfQ0hBTk5FTFNfTElTVCwiU3lzTGlzdFZpZXczMiIsTFZTX1JFUE9SVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IExWU19TSE9XU0VMQUxXQVlTIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8CgkJICAgIExWU19TT1JUQVNDRU5ESU5HLDcsNywyMzMsMTc3CiAgICBQVVNIQlVUVE9OICAgICAgIlNjaGxpZd9lbiIsSURPSywxNzEsMTg5LDY5LDE0CkVORAoKSUREX0FGRklOSVRZX0RJQUxPRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDIzMSwgMTU0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlByb3plc3NvciBBZmZpbml05HQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTIwLDEzMyw1MCwxNAogICAgUFVTSEJVVFRPTiAgICAgICJBYmJyZWNoZW4iLElEQ0FOQ0VMLDE3NCwxMzMsNTAsMTQKICAgIExURVhUICAgICAgICAgICAiRGllIFByb3plc3NvciBBZmZpbml05HQgRWluc3RlbGx1bmcga29udHJvbGxpZXJ0LCBhdWYgd2VsY2hlbiBDUFUncyBkZXIgUHJvemXfLCBkaWUgRXJsYXVibmlzIGhhdCwgYXVzZ2Vm/GhydCB3ZXJkZW4genUga/ZubmVuLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQyw1LDUsMjIwLDE2CiAgICBDT05UUk9MICAgICAgICAgIkNQVSAwIixJRENfQ1BVMCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLAogICAgICAgICAgICAgICAgICAgIDExLDI4LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxIixJRENfQ1BVMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw0MSwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMiIsSURDX0NQVTIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsNTQsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDMiLElEQ19DUFUzLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDY3LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA0IixJRENfQ1BVNCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMSw4MCwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgNSIsSURDX0NQVTUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsOTMsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDYiLElEQ19DUFU2LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0RJU0FCTEVEIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDExLDEwNiwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgNyIsSURDX0NQVTcsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTEsMTE5LDM3LDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSA4IixJRENfQ1BVOCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19ESVNBQkxFRCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw2MSwyOCwzNywxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgOSIsSURDX0NQVTksIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfRElTQUJMRUQgfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNjEsNDEsMzcsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDEwIixJRENfQ1BVMTAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsNTQsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDExIixJRENfQ1BVMTEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsNjcsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDEyIixJRENfQ1BVMTIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsODAsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDEzIixJRENfQ1BVMTMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsOTMsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE0IixJRENfQ1BVMTQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsNjEsMTA2LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxNSIsSURDX0NQVTE1LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDYxLDExOSw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTYiLElEQ19DUFUxNiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsMjgsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDE3IixJRENfQ1BVMTcsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDQxLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAxOCIsSURDX0NQVTE4LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiw1NCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMTkiLElEQ19DUFUxOSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsNjcsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDIwIixJRENfQ1BVMjAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTE2LDgwLDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyMSIsSURDX0NQVTIxLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiw5Myw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjIiLElEQ19DUFUyMiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxMTYsMTA2LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyMyIsSURDX0NQVTIzLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDExNiwxMTksNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI0IixJRENfQ1BVMjQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDI4LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyNSIsSURDX0NQVTI1LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw0MSw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjYiLElEQ19DUFUyNiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsNTQsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDI3IixJRENfQ1BVMjcsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDY3LDQxLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSAyOCIsSURDX0NQVTI4LCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfRElTQUJMRUQgfCBXU19UQUJTVE9QLDE3NSw4MCw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMjkiLElEQ19DUFUyOSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsOTMsNDEsMTAKICAgIENPTlRST0wgICAgICAgICAiQ1BVIDMwIixJRENfQ1BVMzAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19ESVNBQkxFRCB8IFdTX1RBQlNUT1AsMTc1LDEwNiw0MSwxMAogICAgQ09OVFJPTCAgICAgICAgICJDUFUgMzEiLElEQ19DUFUzMSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCwxNzUsMTE5LDQxLDEwCkVORAoKSUREX0NPTFVNTlNfRElBTE9HIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjQ1LCAxOTkKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiV+RobGUgU3BhbHRlbiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSyw4NCwxNzgsNTAsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQWJicmVjaGVuIixJRENBTkNFTCwxMzgsMTc4LDUwLDE0CiAgICBMVEVYVCAgICAgICAgICAgIlfkaGxlIGRpZSBTcGFsdGVuIGF1cywgZGllIGF1ZiBkZXIgUHJvemXfLVNlaXRlIGRlcyBUYXNrIE1hbmFnZXJzIGVyc2NoZWluZW4gc29sbGVuIiwgICAgIAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsNyw3LDE4MSwxNwogICAgQ09OVFJPTCAgICAgICAgICImTmFtZSIsSURDX0lNQUdFTkFNRSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX0RJU0FCTEVEIHwgV1NfVEFCU1RPUCw3LDI4LDU2LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZQSUQgKFByb3pl3y1JRCkiLElEQ19QSUQsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCw3LDM5LDg4LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZDUFUtQXVzbGFzdHVuZyIsSURDX0NQVVVTQUdFLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDUwLDkwLDEwCiAgICBDT05UUk9MICAgICAgICAgIkNQVSBaJmVpdCIsSURDX0NQVVRJTUUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsNjEsNDgsMTAKICAgIENPTlRST0wgICAgICAgICAiUyZwZWljaGVyYXVzbGFzdHVuZyIsSURDX01FTU9SWVVTQUdFLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDcyLDk1LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZWZXLkbmQuIGRlciBTcGVpY2hlcmF1c2xhc3R1bmciLElEQ19NRU1PUllVU0FHRURFTFRBLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNyw4MywxMTUsMTAKICAgIENPTlRST0wgICAgICAgICAiJk1heGltYWxlIFNwZWljaGVyYXVzbGFzdHVuZyIsSURDX1BFQUtNRU1PUllVU0FHRSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDcsOTQsMTE1LDEwCiAgICBDT05UUk9MICAgICAgICAgIlNlaXRlbiZmZWhsZXIiLElEQ19QQUdFRkFVTFRTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDEwNSw1MywxMAogICAgQ09OVFJPTCAgICAgICAgICImQmVudXR6ZXItT2JqZWt0ZSIsSURDX1VTRVJPQkpFQ1RTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDExNiw5MCwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gKExlc2VuKSIsSURDX0lPUkVBRFMsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDcsMTI3LDQ5LDEwCiAgICBDT05UUk9MICAgICAgICAgIkkvTyAtIEJ5dGVzIChMZXNlbikiLElEQ19JT1JFQURCWVRFUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDcsMTM4LDc1LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZTaXR6dW5ncy1JRCIsSURDX1NFU1NJT05JRCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsNywxNDksNTAsMTAKICAgIENPTlRST0wgICAgICAgICAiQmVudXR6ZXImbmFtZSIsSURDX1VTRVJOQU1FLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCw3LDE2MCw4MCwxMAogICAgQ09OVFJPTCAgICAgICAgICJWZXLkbiZkLiBkZXIgU2VpdGVuZmVobGVyIixJRENfUEFHRUZBVUxUU0RFTFRBLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTMyLDI4LDcyLDEwCiAgICBDT05UUk9MICAgICAgICAgIiZHcvbfZSBkZXMgdmlydC4gU3BlaWNoZXJzIixJRENfVklSVFVBTE1FTU9SWVNJWkUsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMzIsMzksMTA1LDEwCiAgICBDT05UUk9MICAgICAgICAgIkF1cyZnZWxhZ2VydGVyIFBvb2wiLElEQ19QQUdFRFBPT0wsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEzMiw1MCw5MCwxMAogICAgQ09OVFJPTCAgICAgICAgICJOaWNoJnRhdXNnZWxhZ2VydGVyIFBvb2wiLElEQ19OT05QQUdFRFBPT0wsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMzIsNjEsMTA1LDEwCiAgICBDT05UUk9MICAgICAgICAgIkJhc2lzcCZyaW9yaXTkdCIsSURDX0JBU0VQUklPUklUWSwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEzMiw3Miw1NSwxMAogICAgQ09OVFJPTCAgICAgICAgICImSGFuZGxlLUFuemFobCIsSURDX0hBTkRMRUNPVU5ULCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8CiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxMzIsODMsNTksMTAKICAgIENPTlRST0wgICAgICAgICAiJlRocmVhZC1BbnphaGwiLElEQ19USFJFQURDT1VOVCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTMyLDk0LDU5LDEwCiAgICBDT05UUk9MICAgICAgICAgIkdESS1PYmpla3RlIixJRENfR0RJT0JKRUNUUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTMyLDEwNSw5MCwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gKFNjaHJlaWJlbikiLElEQ19JT1dSSVRFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AsMTMyLDExNiw5MCwxMAogICAgQ09OVFJPTCAgICAgICAgICJJL08gLSBCeXRlcyAoU2NocmVpYmVuKSIsSURDX0lPV1JJVEVCWVRFUywiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDEzMiwxMjcsMTA1LDEwCiAgICBDT05UUk9MICAgICAgICAgIkkvTyAoQW5kZXJlKSIsSURDX0lPT1RIRVIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDEzMiwxMzgsOTAsMTAKICAgIENPTlRST0wgICAgICAgICAiSS9PIC0gQnl0ZXMgKEFuZGVyZSkiLElEQ19JT09USEVSQllURVMsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxMzIsMTQ5LDEwNSwxMApFTkQKCi8qCiBTdHJpbmcgVGFibGUKKi8KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfQVBQX1RJVExFICAgICAgICAgICAiVGFzayBNYW5hZ2VyIgogICAgSURDX1RBU0tNR1IgICAgICAgICAgICAgIlRhc2sgTWFuYWdlciIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURfRklMRV9ORVcgICAgICAgICAgICAgICAgICAgIlN0YXJ0ZSBlaW4gbmV1ZXMgUHJvZ3JhbW0iCiAgICBJRF9PUFRJT05TX0FMV0FZU09OVE9QICAgICAgICAiRGVyIFRhc2sgTWFuYWdlciBibGVpYnQgaW1tZXIgbWl0IHNlaW5lbiBnZXNhbXRlbiBGZW5zdGVybiBpbSBWb3JkZXJncnVuZCwgYmlzIGVyIG1pbmltaWVydCB3aXJkIgogICAgSURfT1BUSU9OU19NSU5JTUlaRU9OVVNFICAgICAgIkRlciBUYXNrIE1hbmFnZXIgbWluaW1pZXJ0IHNpY2gsIHdlbm4gZWluZSAnV2VjaHNsZSB6dScgT3BlcmF0aW9uIGF1c2dlZvxocnQgd2lyZCIKICAgIElEX09QVElPTlNfSElERVdIRU5NSU5JTUlaRUQgICJWZXJzdGVja2UgZGVuIFRhc2sgTWFuYWdlciwgd2VubiBlciBtaW5pbWllcnQgaXN0IgogICAgSURfVklFV19SRUZSRVNIICAgICAgICAgICAgICAgIlp3aW5nZSBkZW4gVGFzayBNYW5hZ2VyIHp1IGVpbmVyIEFrdHVhbGlzaWVydW5nLCB1bmFiaORuaWcgdm9uIGRlciBBa3R1YWxpc2llcnVuZ3NnZXNjaHdpbmRpZ2tlaXQiCiAgICBJRF9WSUVXX0xBUkdFICAgICAgICAgICAgICAgICAiWmVpZ2UgVGFza3MgbWl0IGdyb99lbiBTeW1ib2xlbiBhbiIKICAgIElEX1ZJRVdfU01BTEwgICAgICAgICAgICAgICAgICJaZWlnZSBUYXNrcyBtaXQga2xlaW5lbiBTeW1ib2xlbiBhbiIKICAgIElEX1ZJRVdfREVUQUlMUyAgICAgICAgICAgICAgICJaZWlnZSBkZXRhaWxpZXJ0ZSBJbmZvcm1hdGlvbmVuIPxiZXIgamVkZW4gZWluemVsbmVuIFRhc2sgYW4iCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX0hJR0ggICAgICAiQWt0dWFsaXNpZXJ0IGRpZSBBbnplaWdlIHp3ZWltYWwgcHJvIFNla3VuZGUiCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX05PUk1BTCAgICAiQWt0dWFsaXNpZXJ0IGRpZSBBbnplaWdlIGFsbGVyIDIgU2VrdW5kZW4iCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX0xPVyAgICAgICAiQWt0dWFsaXNpZXJ0IGRpZSBBbnplaWdlIGFsbGVyIDQgU2VrZHVuZGVuIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRF9WSUVXX1VQREFURVNQRUVEX1BBVVNFRCAgICAgICAgIk5pY2h0IGF1dG9tYXRpc2NoIEFrdHVhbGlzaWVyZW4iCiAgICBJRF9XSU5ET1dTX1RJTEVIT1JJWk9OVEFMTFkgICAgICAgIlN0ZWxsZSBkaWUgRmVuc3RlciD8YmVyZWluYW5kZXIgYXVmIGRlbSBEZXNrdG9wIGRhciIKICAgIElEX1dJTkRPV1NfVElMRVZFUlRJQ0FMTFkgICAgICAgICAiU3RlbGxlIGRpZSBGZW5zdGVyIG5lYmVuZWluYW5kZXIgYXVmIGRlbSBEZXNrdG9wIGRhciIKICAgIElEX1dJTkRPV1NfTUlOSU1JWkUgICAgICAgICAgICAgICAiTWluaW1pZXJlIGRpZSBGZW5zdGVyIgogICAgSURfV0lORE9XU19NQVhJTUlaRSAgICAgICAgICAgICAgICJNYXhpbWllcmUgZGllIEZlbnN0ZXIiCiAgICBJRF9XSU5ET1dTX0NBU0NBREUgICAgICAgICAgICAgICAgIlN0ZWxsZSBkaWUgRmVuc3RlciBoaW50ZXJlaW5hbmRlciBhdWYgZGVtIERlc2t0b3AgZGFyIgogICAgSURfV0lORE9XU19CUklOR1RPRlJPTlQgICAgICAgICAgICJIb2xlIGRhcyBGZW5zdGVyIGluIGRlbiBWb3JkZXJncnVuZCwgYWJlciB3ZWNoc2xlIG5pY2h0IHp1IGRpZXNlbSIKICAgIElEX0hFTFBfVE9QSUNTICAgICAgICAgICAgICAgICAgICAiWmVpZ2UgZGllIEhpbGZldGhlbWVuIGRlcyBUYXNrIE1hbmFnZXJzIGFuIgogICAgSURfSEVMUF9BQk9VVCAgICAgICAgICAgICAgICAgICAgICJaZWlnZSBQcm9ncmFtbWluZm9ybWF0aW9uZW4sIFZlcnNpb25zbnVtbWVyIHVuZCBDb3B5cmlnaHQgYW4iCiAgICBJRF9GSUxFX0VYSVQgICAgICAgICAgICAgICAgICAgICAgIkJlZW5kZSBkaWUgVGFzayBNYW5hZ2VyIEFud2VuZHVuZyIgICAKICAgIElEX09QVElPTlNfU0hPVzE2QklUVEFTS1MgICAgICAgICAiWmVpZ2UgMTYtYml0IFRhc2tzIHVuZGVyIGRlciBWZXJ3ZW5kdW5nIHZvbiBudHZkbS5leGUgYW4iCiAgICBJRF9WSUVXX1NFTEVDVENPTFVNTlMgICAgICAgICAgICAgIlfkaGxlLCB3ZWxjaGUgU3BhbHRlbiBhdWYgZGVyIFByb3pl3y1TZWl0ZSBzaWNodGJhciBzZWluIHNvbGxlbiIKICAgIElEX1ZJRVdfU0hPV0tFUk5FTFRJTUVTICAgICAgICAgICAiWmVpZ2UgZGllIEtlcm5lbC1aZWl0ZW4gaW0gTGVpc3R1bmdzZ3JhcGhlbiBhbiIKICAgIElEX1ZJRVdfQ1BVSElTVE9SWV9PTkVHUkFQSEFMTCAgICAiRWluIGVpbnplbG5lciBWZXJsYXVmc2dyYXBoIHplaWd0IGRpZSBnZXNhbXRlIENQVS1BdXNsYXN0dW5nIGFuIgogICAgSURfVklFV19DUFVISVNUT1JZX09ORUdSQVBIUEVSQ1BVICJKZWRlIENQVSBoYXQgaWhyZW4gZWlnZW5lbiBWZXJsYXVmc2dyYXBoZW4iCiAgICBJRF9BUFBMSUNBVElPTl9QQUdFX1NXSVRDSFRPICAgICAgIkhvbHQgZGVuIFRhc2sgaW4gZGVuIFZvcmRlcmdydW5kIHVuZCB3ZWNoc2VsdCBkZW4gRm9rdXMgYXVmIGRlbiBUYXNrIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRF9FTkRUQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIldlaXN0IGRpZSBhdXNnZXfkaGx0ZW4gVGFza3MgYW4sIHNpY2ggenUgYmVlbmRlbiIKICAgIElEX0dPVE9QUk9DRVNTICAgICAgICAgICAgICAgICAgICAgICAgICAiV2VjaHNlbHQgZGVuIEZva3VzIHp1IGRlbSBQcm96Zd8gZGVzIGF1c2dld+RobHRlbiBUYXNrcyIKICAgIElEX1JFU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3RlbGx0IGRlbiBUYXNrIE1hbmFnZXIgdm9uIHNlaW5lciB2ZXJzdGVja3RlbiBTdGF0dXMgd2llZGVyIGhlciIKICAgIElEX1BST0NFU1NfUEFHRV9FTkRQUk9DRVNTICAgICAgICAgICAgICAiRW50ZmVybnQgZGVuIFByb3pl3yB2b20gU3lzdGVtIgogICAgSURfUFJPQ0VTU19QQUdFX0VORFBST0NFU1NUUkVFICAgICAgICAgICJFbnRmZXJudCBkZW4gUHJvemXfIHVuZCBhbGwgc2VpbmUgS2luZHByb3plc3NlIHZvbSBTeXN0ZW0iCiAgICBJRF9QUk9DRVNTX1BBR0VfREVCVUcgICAgICAgICAgICAgICAgICAgIkhlZnRldCBkZW4gRGVidWdnZXIgYW4gZGllc2VuIFByb3pl3yBhbiIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRBRkZJTklUWSAgICAgICAgICAgICAiS29udHJvbGxpZXJ0LCBhdWYgd2VsY2hlIFByb3plc3NvcmVuIGVpbiBQcm96Zd8gYXVzZ2Vm/GhydCB3ZXJkZW4gZGFyZiIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9SRUFMVElNRSAgICAiU2V0enQgZGVuIFByb3pl3yBpbiBkaWUgRUNIVFpFSVQtUHJpb3JpdOR0c2tsYXNzZSIKICAgIElEX1BST0NFU1NfUEFHRV9TRVRQUklPUklUWV9ISUdIICAgICAgICAiU2V0enQgZGVuIFByb3pl3yBpbiBkaWUgSE9DSC1Qcmlvcml05HRza2xhc3NlIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0FCT1ZFTk9STUFMICJTZXR6dCBkZW4gUHJvemXfIGluIGRpZSBI1khFUiBBTFMgTk9STUFMLVByaW9yaXTkdHNrbGFzc2UiCiAgICBJRF9QUk9DRVNTX1BBR0VfU0VUUFJJT1JJVFlfTk9STUFMICAgICAgIlNldHp0IGRlbiBQcm96Zd8gaW4gZGllIE5PUk1BTC1Qcmlvcml05HRza2xhc3NlIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0JFTE9XTk9STUFMICJTZXR6dCBkZW4gUHJvemXfIGluIGRpZSBOSUVEUklHRVIgQUxTIE5PUk1BTC1Qcmlvcml05HRza2xhc3NlIgogICAgSURfUFJPQ0VTU19QQUdFX1NFVFBSSU9SSVRZX0xPVyAgICAgICAgICJTZXR6dCBkZW4gUHJvemXfIGluIGRpZSBOSUVEUklHLVByaW9yaXTkdHNrbGFzc2UiCiAgICBJRFNfTElDRU5TRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcblxyXG5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxyXG5cclxuWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3LCBVU0EuIgpFTkQK