LyoKICogQ29weXJpZ2h0IDIwMDItMjAwMyBSb2sgTWFuZGVsamMgPHJvay5tYW5kZWxqY0BnaW1iLm9yZz4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqCiAqLwoKU1RSSU5HVEFCTEUgTEFOR1VBR0UgTEFOR19TTE9WRU5JQU4sIFNVQkxBTkdfREVGQVVMVApCRUdJTgoKLyogTU1TWVMgZXJyb3JzICovCk1NU1lTRVJSX05PRVJST1IsIAkJIk5hdmVkZW5pIHVrYXogamUgYmlsIGl6dmVkZW4uIgpNTVNZU0VSUl9FUlJPUiwgCQkiTmV6bmFuYSB6dW5hbmphIG5hcGFrYS4iCk1NU1lTRVJSX0JBRERFVklDRUlELCAJCSJVcG9yYWJsamVuYSBpZGVudGlmaWthY2lqc2thIG96bmFrYSBuYXByYXZlIGplIHp1bmFqIGRvcHVzdG5lZ2Egb2JzZWdhIHphIHZhmiBzaXN0ZW0uIgpNTVNZU0VSUl9OT1RFTkFCTEVELCAJCSJHb25pbG5payBuaSBiaWwgb21vZ2/oZW4uIgpNTVNZU0VSUl9BTExPQ0FURUQsIAkJIk5hdmVkZW5hIG5hcHJhdmEgamUgnmUgdiB1cG9yYWJpLiBQb+hha2FqdGUsIGRhIGJvIHNwZXQgcHJvc3RhLCBpbiBwb3NrdXNpdGUgem5vdmEuIgpNTVNZU0VSUl9JTlZBTEhBTkRMRSwgCQkiTmF2ZWRlbmEga29kYSB6YSBkb3N0b3AgZG8gbmFwcmF2ZSBuaSB2ZWxqYXZuYS4iCk1NU1lTRVJSX05PRFJJVkVSLCAJCSJOb2JlbiBnb25pbG5payBuaSBuYW1lmuhlbiAhXG4iCk1NU1lTRVJSX05PTUVNLCAJCSJaYSB0byBvcHJhdmlsbyBuaSBuYSB2b2xqbyBkb3ZvbGogcG9tbmlsbmlrYS4gS29u6GFqdGUgZW5lZ2EgYWxpIHZl6CBwcm9ncmFtb3YgaW4gcG9za3VzaXRlIHpub3ZhLiIKTU1TWVNFUlJfTk9UU1VQUE9SVEVELCAJCSJUYSBmdW5rY2lqYSBuaSBwb2RwcnRhLiDIZSCeZWxpdGUgdWdvdG92aXRpLCBrYXRlcmUgZnVua2NpamUgcG9kcGlyYSBnb25pbG5paywgdXBvcmFiaXRlIG1vnm5vc3QgJ0Z1bmtjaWplJy4iCk1NU1lTRVJSX0JBREVSUk5VTSwgCQkiTmF2ZWRlbmEgamUgYmlsYSCadGV2aWxrYSBuYXBha2UsIGtpIHYgc2lzdGVtdSBuaSBkZWZpbmlyYW5hLiIKTU1TWVNFUlJfSU5WQUxGTEFHLCAJCSJTaXN0ZW1za2EgZnVua2NpamEgamUgcHJlamVsYSBuZXZlbGphdm5vIHphc3Rhdmljby4iCk1NU1lTRVJSX0lOVkFMUEFSQU0sIAkJIlNpc3RlbXNrYSBmdW5rY2lqYSBqZSBwcmVqZWxhIG5ldmVsamF2ZW4gcGFyYW1ldGVyLiIKCi8qIFdBVkUgZXJyb3JzICovCldBVkVSUl9CQURGT1JNQVQsIAkJIk5hdmVkZW5hIG9ibGlrYSB6YXBpc2EgbmkgcG9kcHJ0YSBhbGkgcGEgamUgbmkgbW9nb+hlIHByZXZlc3RpLiDIZSCeZWxpdGUgdWdvdG92aXRpLCBrYXRlcmUgb2JsaWtlIHNvIHBvZHBydGUsIHVwb3JhYml0ZSBtb55ub3N0ICdGdW5rY2lqZScuIgpXQVZFUlJfU1RJTExQTEFZSU5HLCAJCSJQcmVkdmFqYW5qZSCaZSB0cmFqYS4gUG9uYXN0YXZpdGUgbmFwcmF2byBhbGkgcGEgcG/oYWthanRlIGRvIGtvbmNhIHByZWR2YWphbmphLiIKV0FWRVJSX1VOUFJFUEFSRUQsIAkJIkdsYXZhIHBvZGF0a292IHZyc3RlIHdhdmUgbmkgYmlsYSBwcmlwcmF2bGplbmEuIFByaXByYXZpdGUgZ2xhdm8sIHRha28gZGEgdXBvcmFiaXRlIGZ1bmtjaWpvICdQcmlwcmF2aScgKFByZXBhcmUpLCBpbiBwb3NrdXNpdGUgem5vdmEuIgpXQVZFUlJfU1lOQywgCQkJIkJyZXogemFzdGF2aWNlIFdBVkVfQUxMT1dTWU5DIG5pIG1vZ2/oZSBvZHByZXRpIG5hcHJhdmUuIFVwb3JhYml0ZSBqbyBpbiBwb3NrdXNpdGUgem5vdmEuIgoKLyogTUlESSBlcnJvcnMgKi8KTUlESUVSUl9VTlBSRVBBUkVELCAJCSJNSURJIGdsYXZhIG5pIGJpbGEgcHJpcHJhdmxqZW5hLiBQcmlwcmF2aXRlIGdsYXZvLCB0YWtvIGRhIHVwb3JhYml0ZSBmdW5rY2lqbyAnUHJpcHJhdmknIChQcmVwYXJlKSwgaW4gcG9za3VzaXRlIHpub3ZhLiIKTUlESUVSUl9TVElMTFBMQVlJTkcsIAkJIlByZWR2YWphbmplIJplIHRyYWphLiBQb25hc3Rhdml0ZSBuYXByYXZvIGFsaSBwYSBwb+hha2FqdGUgZG8ga29uY2EgcHJlZHZhamFuamEuIgpNSURJRVJSX05PTUFQLCAJCQkiUmF6cG9yZWRpdHZlIE1JREkgbmkgbW9nbzFlIG5hanRpLiBUbyBqZSBsYWhrbyBwb3NsZWRpY2EgdGWeYXYgeiBnb25pbG5pa29tLCBhbGkgcGEgbWFuamtham/oIGFsaSBwb5prb2RvdmFuZSBkYXRvdGVrZSBNSURJTUFQLkNGRy4iCk1JRElFUlJfTk9UUkVBRFksIAkJIlByZWsgdnJhdCBwb3Rla2EgcHJlbm9zIHBvZGF0a292IGRvIG5hcHJhdmUuIFBv6GFrYWp0ZSwgZGEgc2UgcHJlbm9zIGtvbuhhIGluIHBvc2t1c2l0ZSB6bm92YS4iCk1JRElFUlJfTk9ERVZJQ0UsIAkJIlRyZW51dG5hIG5hc3Rhdml0ZXYgTUlESSBzZSBza2xpY3VqZSBuYSBNSURJIG5hcHJhdm8sIGtpIG5pIHByaXNvdG5hLiBVcG9yYWJpdGUgTUlESSBNYXBwZXIgaW4gc3ByZW1lbml0ZSBuYXN0YXZpdHZlLiIKTUlESUVSUl9JTlZBTElEU0VUVVAsIAkJIlRyZW51dG5hIG5hc3Rhdml0ZXYgTUlESSBqZSBwb5pvZG92YW5hLiBOYW1lc3RpdGUgb3JpZ2luYWxubyBkYXRvdGVrbyBNSURJTUFQLkNGRyB2IHNpc3RlbXNrbyBtYXBvIFdpbmRvd3MgKFN5c3RlbSkgaW4gcG9za3VzaXRlIHpub3ZhLiIKCi8qIE1DSSBlcnJvcnMgKi8KTUNJRVJSX0lOVkFMSURfREVWSUNFX0lELCAJIk5ldmVsamF2bmEgaWRlbnRpZmlrYWNpanNrYSBvem5ha2EgTUNJIG5hcHJhdmUuIFVwb3JhYml0ZSBvem5ha28sIGtpIGpvIHZybmUgb2RwaXJhbmplIE1DSSBuYXByYXZlLiIKTUNJRVJSX1VOUkVDT0dOSVpFRF9LRVlXT1JELCAJIk5hdmVkZW4gcGFyYW1ldGVyIHVrYXphIG5pIGRlZmluaXJhbiB2IG5hYm9ydSBNQ0kgdWthem92LiIKTUNJRVJSX1VOUkVDT0dOSVpFRF9DT01NQU5ELAkiTmF2ZWRlbiB1a2F6IG5pIHZlbGphdmVuIE1DSSB1a2F6LiIKTUNJRVJSX0hBUkRXQVJFLCAJCSJTIHByZWRzdGF2bm9zdG5vIG5hcHJhdm8gc28gdGWeYXZlLiBQcmV2ZXJpdGUsIGFsaSBuYXByYXZhIGRlbHVqZSBwcmF2aWxubyBhbGkgcGEgc2UgcG9zdmV0dWp0ZSB6IGl6ZGVsb3ZhbGNlbS4iCk1DSUVSUl9JTlZBTElEX0RFVklDRV9OQU1FLCAJIlRvIG5pIHJlZ2lzdHJpcmFuYSBNQ0kgbmFwcmF2YS4iCk1DSUVSUl9PVVRfT0ZfTUVNT1JZLCAJCSJaYSB0byBvcHJhdmlsbyBuaSBuYSB2b2xqbyBkb3ZvbGogcG9tbmlsbmlrYS4gXG5Lb27oYWp0ZSBlbmVnYSBhbGkgdmXoIHByb2dyYW1vdiBpbiBwb3NrdXNpdGUgem5vdmEuIgpNQ0lFUlJfREVWSUNFX09QRU4sIAkJIlRhIHByb2dyYW0gnmUgdXBvcmFibGphIHRhIHZ6ZGV2ZWsuIE5hbWVzdG8gaW1lbmEgbmFwcmF2ZSB1cG9yYWJpdGUgmmUgbmV1cG9yYWJsamVuICB2emRldmVrLiIKTUNJRVJSX0NBTk5PVF9MT0FEX0RSSVZFUiwgCSJOYXByYXZlIG5pIGJpbG8gbW9nb+hlIG5hbG+eaXRpLiBQcmV2ZXJpdGUsIGFsaSBqZSBnb25pbG5payBwcmF2aWxubyBuYW1lmuhlbi4iCk1DSUVSUl9NSVNTSU5HX0NPTU1BTkRfU1RSSU5HLCAJIlVrYXpuaSBuaXogamUgcHJhemVuLiIKTUNJRVJSX1BBUkFNX09WRVJGTE9XLCAJCSJJemhvZG5pIG5peiBqZSBiaWwgcHJldmVsaWssIGRhIGJpIGdhIGJpbG8gbW9nb+hlIHNocmFuaXRpIHYgcG92cmF0bmkgbWVkcG9tbmlsbmlrLiBQb3Zl6GFqdGUgbWVkcG9tbmlsbmlrLiIKTUNJRVJSX01JU1NJTkdfU1RSSU5HX0FSR1VNRU5ULCAiTmF2ZWRlbmkgdWtheiB6YWh0ZXZhIHBhcmFtZXRlciAobml6IHpuYWtvdikuIFZuZXNpdGUgZ2EuIgpNQ0lFUlJfQkFEX0lOVEVHRVIsIAkJIlZuZXNlbm8gY2VsbyCadGV2aWxvIHphIHRhIHVrYXogbmkgdmVsamF2bm8uIFZuZXNpdGUgmnRldmlsby4iCk1DSUVSUl9QQVJTRVJfSU5URVJOQUwsIAkiR29uaWxuaWsgemEgbmFwcmF2byBqZSB2cm5pbCBuZXZlbGphdm5vIHZyc3RvIHZyZWRub3N0aS4gT2QgaXpkZWxvdmFsY2EgbmFwcmF2ZSBwb3NrdXNpdGUgZG9iaXRpIG5vdiBnb25pbG5pay4iCk1DSUVSUl9EUklWRVJfSU5URVJOQUwsIAkiWiBnb25pbG5pa29tIHphIG5hcHJhdm8gc28gdGWeYXZlLiBPZCBpemRlbG92YWxjYSBuYXByYXZlIHBvc2t1c2l0ZSBkb2JpdGkgbm92IGdvbmlsbmlrLiIKTUNJRVJSX01JU1NJTkdfUEFSQU1FVEVSLCAJIlYgbmF2ZWRlbmVtIHVrYXp1IG1hbmprYSBwYXJhbWV0ZXIuIFZuZXNpdGUgZ2EuIgpNQ0lFUlJfVU5TVVBQT1JURURfRlVOQ1RJT04sIAkiTUNJIG5hcHJhdmEsIGtpIGpvIHVwb3JhYmxqYXRlLCBuZSBwb2RwaXJhIG5hdmVkZW5lZ2EgdWthemEuIgpNQ0lFUlJfRklMRV9OT1RfRk9VTkQsIAkJIk5hdmVkZW5lIGRhdG90ZWtlIG5pIG1vZ2/oZSBuYWp0aS4gUHJldmVyaXRlLCBhbGkgc3RlIHByYXZpbG5vIHZuZXNsaSBpbWUgaW4gcG90IGRvIGRhdG90ZWtlLiIKTUNJRVJSX0RFVklDRV9OT1RfUkVBRFksIAkiR29uaWxuaWsgemEgbmFwcmF2byBuaSBwcmlwcmF2bGplbi4gTWFsbyBwb+hha2FqdGUgaW4gbmF0byBwb3NrdXNpdGUgem5vdmEuIgpNQ0lFUlJfSU5URVJOQUwsIAkJIlByaSBpbmljaWFsaXphY2lqaSBNQ0kgbmFwcmF2ZSBqZSBwcmmabG8gZG8gdGWeYXYuIFpub3ZhIHphnmVuaXRlIFdpbmRvd3MuIgpNQ0lFUlJfRFJJVkVSLCAJCQkiWmFyYWRpIG5hcGFrZSwgem5h6GlsbmUgemEgZ29uaWxuaWssIGplIGJpbCBnb25pbG5payB6YXBydC4gUG9ub3ZpdGUgdWthei4iCk1DSUVSUl9DQU5OT1RfVVNFX0FMTCwgCQkiViB0ZW0gdWthenUgdXBvcmFiaXRlIGltZSB0b+hubyBkb2xv6GVuZSBuYXByYXZlLiIKTUNJRVJSX01VTFRJUExFLCAJCSJWIHZl6CBuYXByYXZhaCBqZSBwcmmabG8gZG8gbmFwYWsuIExv6GVubyB2bmVzaXRlIHZzYWsgdWtheiBpbiB2c2FrbyBuYXByYXZvLiBUYWtvIGJvc3RlIGxhaGtvIHVnb3RvdmlsaSwga2F0ZXJlIG5hcHJhdmUgcG92enJv6GFqbyBuYXBha2UuIgpNQ0lFUlJfRVhURU5TSU9OX05PVF9GT1VORCwgCSJJeiBwcmlwb25lIGRhdG90ZWtlIG5pIG1vZ2/oZSB1Z290b3ZpdGkgdnJzdGUgemFodGV2YW5lIG5hcHJhdmUuIgpNQ0lFUlJfT1VUT0ZSQU5HRSwgCQkiUGFyYW1ldGVyIGplIHp1bmFqIGRvdm9samVuZWdhIG9ic2VnYSB6YSBuYXZlZGVuIHVrYXouIgpNQ0lFUlJfRkxBR1NfTk9UX0NPTVBBVElCTEUsIAkiTmF2ZWRlbmloIHBhcmFtZXRyb3YgbmUgc21ldGUgdXBvcmFiaXRpIGhrcmF0aS4iCk1DSUVSUl9GSUxFX05PVF9TQVZFRCwgCQkiTmF2ZWRlbmUgZGF0b3Rla2UgbmkgbW9nb+hlIHNocmFuaXRpLiBQcmV2ZXJpdGUsIGFsaSBqZSBuYSBkaXNrdSBkb3ZvbGogcHJvc3RvcmEgb3ouIGFsaSBqZSB2YZogcmHodW5hbG5payCaZSBwb3ZlemFuIHogb21yZZ5qZW0uIgpNQ0lFUlJfREVWSUNFX1RZUEVfUkVRVUlSRUQsIAkiTmF2ZWRlbmUgbmFwcmF2ZSBuaSBtb2dv6GUgbmFqdGkuIFByZXZlcml0ZSwgYWxpIGplIG5hcHJhdmEgbmFtZZroZW5hIG96LiBhbGkgamUgYmlsbyBuamVubyBpbWUgcHJhdmlsbm8gbmF2ZWRlbm8uIgpNQ0lFUlJfREVWSUNFX0xPQ0tFRCwgCQkiUG90ZWthIHphcGlyYW5qZSBuYXZlZGVuZSBuYXByYXZlLiBNYWxvIHBv6GFrYWp0ZSBpbiBwb3NrdXNpdGUgem5vdmEuIgpNQ0lFUlJfRFVQTElDQVRFX0FMSUFTLCAJIlRhIHByb2dyYW0gnmUgdXBvcmFibGphIG5hdmVkZW5pIHZ6ZGV2ZWsuIFVwb3JhYml0ZSCaZSBuZXVwb3JhYmxqZW4gdnpkZXZlay4iCk1DSUVSUl9CQURfQ09OU1RBTlQsIAkJIlVwb3JhYmxqZW5hIGtvbnN0YW50YSB2IHRlbSB1a2F6dSBuaSB2ZWxqYXZuYS4iCk1DSUVSUl9NVVNUX1VTRV9TSEFSRUFCTEUsIAkiR29uaWxuaWsgbmFwcmF2ZSBqZSCeZSB2IHVwb3JhYmkuIMhlIGdhIJ5lbGl0ZSBkYXRpIHYgc2t1cG5vIHJhYm8sIHogdnNha2ltIHVrYXpvbSAnb3BlbicgdXBvcmFiaXRlIHBhcmFtZXRlciAnc2hhcmVhYmxlJy4iCk1DSUVSUl9NSVNTSU5HX0RFVklDRV9OQU1FLCAJIk5hdmVkZW5pIHVrYXogemFodGV2YSB2emRldmVrLCBkYXRvdGVrbywgZ29uaWxuaWsgYWxpIGltZSBuYXByYXZlLiBWbmVzaXRlIHVzdHJlem5vIGltZS4iCk1DSUVSUl9CQURfVElNRV9GT1JNQVQsIAkiTmF2ZWRlbmEgdnJlZG5vc3QgemEgb2JsaWtvIHphcGlzYSDoYXNhIG5pIHZlbGphdm5hLiBWZWxqYXZuZSBvYmxpa2UgcG9pmuhpdGUgdiBkb2t1bWVudGFjaWppIE1DSSBuYXByYXZlLiIKTUNJRVJSX05PX0NMT1NJTkdfUVVPVEUsIAkiViB2cmVkbm9zdGkgemEgcGFyYW1ldGVyIG1hbmprYSB6YWtsanXobmkgZHZvam5pIG5hcmVrb3Zhai4gVm5lc2l0ZSBnYS4iCk1DSUVSUl9EVVBMSUNBVEVfRkxBR1MsIAkiUGFyYW1ldGVyIGFsaSB2cmVkbm9zdCBzdGUgbmF2ZWRsaSBkdmFrcmF0LiBOYXZlZGl0ZSBnYSBzYW1vIGVua3JhdC4iCk1DSUVSUl9JTlZBTElEX0ZJTEUsIAkJIlRlIGRhdG90ZWtlIG5lIG1vcmV0ZSBwcmVkdmFqYXRpIHogbmF2ZWRlbm8gTUNJIG5hcHJhdm8uIERhdG90ZWthIGplIG1vcmRhIHBvmmtvZG92YW5hIGFsaSBwYSBpbWEgbmFwYehubyBvYmxpa28gemFwaXNhLiIKTUNJRVJSX05VTExfUEFSQU1FVEVSX0JMT0NLLCAJIk1DSSBuYXByYXZpIGplIGJpbCBwcmVkYW4gJ251bGwgcGFyYW1ldGVyIGJsb2NrJy4iCk1DSUVSUl9VTk5BTUVEX1JFU09VUkNFLCAJIkRhdG90ZWtlIGJyZXogaW1lbmEgbmkgbW9nb+hlIHNocmFuaXRpLiBWbmVzaXRlIGltZS4iCk1DSUVSUl9ORVdfUkVRVUlSRVNfQUxJQVMsIAkiS28gdXBvcmFibGphdGUgcGFyYW1ldGVyICduZXcnLCBtb3JhdGUgbmF2ZXN0aSB2emRldmVrLiIKTUNJRVJSX05PVElGWV9PTl9BVVRPX09QRU4sIAkiWmFzdGF2aWNlICdub3RpZnknIG5pIG1vZ2/oZSB1cG9yYWJpdGkgcHJpIG5hcHJhdmFoLCBraSBzZSBzYW1vZGVqbm8gb2RwaXJham8uIgpNQ0lFUlJfTk9fRUxFTUVOVF9BTExPV0VELCAJIlYgcG92ZXphdmkgeiBuYXZlZGVubyBuYXByYXZvIG5lIG1vcmV0ZSB1cG9yYWJpdGkgaW1lbmEgZGF0b3Rla2UuIgpNQ0lFUlJfTk9OQVBQTElDQUJMRV9GVU5DVElPTiwgCSJVa2F6b3YgdiBuYXZlZGVuZW0gemFwb3JlZGp1IG5pIG1vZ2/oZSBpenZlc3RpLiBTcHJlbWVuaXRlIHphcG9yZWRqZSBpbiBwb3NrdXNpdGUgem5vdmEuIgpNQ0lFUlJfSUxMRUdBTF9GT1JfQVVUT19PUEVOLCAJIlVrYXphIG5pIG1vZ2/oZSBpenZlc3RpIHYgcG92ZXphdmkgeiBuYXByYXZvLCBraSBzZSBzYW1vZGVqbm8gb2RwcmUuIFBv6GFrYWp0ZSwgZGEgc2UgbmFwcmF2YSB6YXByZSwgaW4gcG9za3VzaXRlIHpub3ZhLiIKTUNJRVJSX0ZJTEVOQU1FX1JFUVVJUkVELCAJIkltZSBkYXRvdGVrZSBuaSB2ZWxqYXZuby4iCk1DSUVSUl9FWFRSQV9DSEFSQUNURVJTLCAJIlphIG5pem9tIHpuYWtvdiwga2kgamUgb2JkYW4geiBuYXJla292YWppLCBuaSBtb2dv6GUgemFwaXNhdGkgZG9kYXRuaWggem5ha292LiIKTUNJRVJSX0RFVklDRV9OT1RfSU5TVEFMTEVELCAJIk5hcHJhdmEgbmkgbmFtZZroZW5hLiDIZSCeZWxpdGUgbmFtZXN0aXRpIG5vdiBnb25pbG5paywgbmEgbmFkem9ybmkgcGxvmuhpIGR2b2tsaWtuaXRlIGlrb25vICdEb2RhamFuamUgc3Ryb2puZSBvcHJlbWUnLiIKTUNJRVJSX0dFVF9DRCwgCQkJIkRvc3RvcCBkbyBuYXZlZGVuZSBkYXRvdGVrZSBhbGkgTUNJIG5hcHJhdmUgbmkgbW9nb+guIFphbWVuamFqdGUgaW1lbmlrIGFsaSBwYSB6bm92YSB6YZ5lbml0ZSByYeh1bmFsbmlrLiIKTUNJRVJSX1NFVF9DRCwgCQkJIkRvc3RvcCBkbyBuYXZlZGVuZSBkYXRvdGVrZSBhbGkgTUNJIG5hcHJhdmUgbmkgbW9nb+gsIGtlciBwcm9ncmFtIG5lIG1vcmUgemFtZW5qYXRpIGltZW5pa2EuIgpNQ0lFUlJfU0VUX0RSSVZFLCAJCSJEb3N0b3AgZG8gbmF2ZWRlbmUgZGF0b3Rla2UgYWxpIE1DSSBuYXByYXZlIG5pIG1vZ2/oLCBrZXIgcHJvZ3JhbSBuZSBtb3JlIHphbWVuamF0aSBwb2dvbmEuIgpNQ0lFUlJfREVWSUNFX0xFTkdUSCwgCQkiTmF2ZWRpdGUgaW1lIHphIG5hcHJhdm8gYWxpIGdvbmlsbmlrLCBraSBqZSBrcmFqmmUgb2QgNzkgem5ha292LiIKTUNJRVJSX0RFVklDRV9PUkRfTEVOR1RILCAJIk5hdmVkaXRlIGltZSB6YSBuYXByYXZvIGFsaSBnb25pbG5paywga2kgamUga3JhapplIG9kIDY5IHpuYWtvdi4iCk1DSUVSUl9OT19JTlRFR0VSLCAJCSJOYXZlZGVuaSB1a2F6IHphaHRldmEgmnRldmls6G5pIHBhcmFtZXRlciAobnByLiAncGxheSB0byAxMCcpLiBWbmVzaXRlIGdhLiIKTUNJRVJSX1dBVkVfT1VUUFVUU0lOVVNFLCAJIlZzZSBuYXByYXZlLCBraSBsYWhrbyBwcmVkdmFqYWpvIGRhdG90ZWtlIHYgb2JsaWtpIHdhdmUsIHNvIHYgdXBvcmFiaS4gUG9za3VzaXRlIHpub3ZhLCBrbyBibyBrYXRlcmEgb2QgbmppaCBuYSB2b2xqby4iCk1DSUVSUl9XQVZFX1NFVE9VVFBVVElOVVNFLCAJIlRyZW51dG5hIHdhdmUgbmFwcmF2YSBqZSB2IHVwb3JhYmkuIFBv6GFrYWp0ZSwgZGEgYm8gcHJvc3RhLCBpbiBwb3NrdXNpdGUgem5vdmEuIgpNQ0lFUlJfV0FWRV9JTlBVVFNJTlVTRSwgCSJWc2UgbmFwcmF2ZSwga2kgbGFoa28gc25lbWFqbyBkYXRvdGVrZSB2IG9ibGlraSB3YXZlLCBzbyB2IHVwb3JhYmkuIFBvc2t1c2l0ZSB6bm92YSwga28gYm8ga2F0ZXJhIG9kIG5qaWggbmEgdm9sam8uIgpNQ0lFUlJfV0FWRV9TRVRJTlBVVElOVVNFLCAJIlRyZW51dG5hIHdhdmUgbmFwcmF2YSBqZSB2IHVwb3JhYmkuIFBv6GFrYWp0ZSwgZGEgYm8gcHJvc3RhLCBpbiBwb3NrdXNpdGUgem5vdmEuIgpNQ0lFUlJfV0FWRV9PVVRQVVRVTlNQRUNJRklFRCwJIlByZWR2YWphbG5hIG5hcHJhdmEgamUgdiB1cG9yYWJpLiBQb3NrdXNpdGUgem5vdmEsIGtvIGJvIHByZWR2YWphbmplIGtvbuhhbm8uIgpNQ0lFUlJfV0FWRV9JTlBVVFVOU1BFQ0lGSUVELCAJIlNuZW1hbG5hIG5hcHJhdmEgamUgdiB1cG9yYWJpLiBQb3NrdXNpdGUgem5vdmEsIGtvIGJvIHNuZW1hbmplIGtvbuhhbm8uIgpNQ0lFUlJfV0FWRV9PVVRQVVRTVU5TVUlUQUJMRSwgCSJOYW1lmuhlbmEgbmkgbm9iZW5hIG5hcHJhdmEgemEgd2F2ZSwga2kgYmkgbGFoa28gcHJlZHZhamFsYSBkYXRvdGVrZSB2IHRyZW51dG5pIG9ibGlraS4iCk1DSUVSUl9XQVZFX1NFVE9VVFBVVFVOU1VJVEFCTEUsIk5hcHJhdmEgbmUgcHJlcG96bmEgdHJlbnV0bmUgb2JsaWtlIHphcGlzYSBkYXRvdGVrZS4gSXpiZXJpdGUgZHJ1Z28gbmFwcmF2byBpbiBwb3NrdXNpdGUgem5vdmEuIgpNQ0lFUlJfV0FWRV9JTlBVVFNVTlNVSVRBQkxFLCAJIk5hbWWa6GVuYSBuaSBub2JlbmEgbmFwcmF2YSB6YSB3YXZlLCBraSBiaSBsYWhrbyBzbmVtYWxhIGRhdG90ZWtlIHYgdHJlbnV0bmkgb2JsaWtpLiIKTUNJRVJSX1dBVkVfU0VUSU5QVVRVTlNVSVRBQkxFLCAiTmFwcmF2YSBuZSBwcmVwb3puYSB0cmVudXRuZSBvYmxpa2UgemFwaXNhIGRhdG90ZWtlLiBJemJlcml0ZSBkcnVnbyBuYXByYXZvIGluIHBvc2t1c2l0ZSB6bm92YS4iCk1DSUVSUl9OT19XSU5ET1csIAkJIk5pIG9rbmEgemEgcHJpa2F6LiIKTUNJRVJSX0NSRUFURVdJTkRPVywgCQkiT2tuYSBuaSBiaWxvIG1vZ2/oZSB1c3R2YXJpdGkgYWxpIHVwb3JhYml0aS4iCk1DSUVSUl9GSUxFX1JFQUQsIAkJIlRlIGRhdG90ZWtlIG5pIG1vZ2/oZSBicmF0aS4gUHJldmVyaXRlLCBhbGkgbmkgYmlsYSBtb3JkYSBpemJyaXNhbmEuIFByZXZlcml0ZSB0dWRpIHN2b2ogZGlzayBpbiBvbXJlnm5lIHBvdmV6YXZlLiIKTUNJRVJSX0ZJTEVfV1JJVEUsIAkJIlYgbmF2ZWRlbm8gZGF0b3Rla28gbmkgbW9nb+hlIHBpc2F0aS4gUHJldmVyaXRlLCBhbGkgamUgbmEgZGlza3UgmmUgZG92b2xqIHByb3N0b3JhIG96LiBhbGkgamUgdmGaIHJh6HVuYWxuaWsgmmUgcG92ZXphbiB6IG9tcmWeamVtLiIKTUNJRVJSX1NFUV9ESVZfSU5DT01QQVRJQkxFLCAJIkhrcmF0aSBuaSBtb2dv6GUgdXBvcmFiaXRpIG9ibGlrIHphcGlzYSDoYXNhICdzb25nLXBvaW50ZXInIGluIFNNUFRFLiIKTUNJRVJSX1NFUV9OT01JRElQUkVTRU5ULCAJIlYgc2lzdGVtdSBuaSBuYW1lmuhlbmEgbm9iZW5hIE1JREkgbmFwcmF2YS4gWmEgbmFtZXN0aXRldiBNSURJIGdvbmlsbmlrYSB1cG9yYWJpdGUgbW+ebm9zdCAnRHJpdmVycycgbmEgTmFkem9ybmkgcGxvmuhpLiIKTUNJRVJSX1NFUV9QT1JUX0lOVVNFLCAJCSJOYXZlZGVuYSBNSURJIG5hcHJhdmEgamUgnmUgdiB1cG9yYWJpLiBQb+hha2FqdGUsIGRhIGJvIHByb3N0YSwgaW4gcG9za3VzaXRlIHpub3ZhLiIKTUNJRVJSX1NFUV9QT1JUX01BUE5PREVWSUNFLCAJIlRyZW51dG5hIG5hc3Rhdml0ZXYgTUlESSBzZSBza2xpY3VqZSBuYSBuYXByYXZvLCBraSBuaSBuYW1lmuhlbmEuIFVwb3JhYml0ZSBtb55ub3N0ICdNSURJIE1hcHBlcicgbmEgTmFkem9ybmkgcGxvmuhpIGluIHNwcmVtZW5pdGUgbmFzdGF2aXRldi4iCk1DSUVSUl9TRVFfUE9SVF9NSVNDRVJST1IsIAkiTmEgbmF2ZWRlbmloIHZyYXRpaCBqZSBwcmmabG8gZG8gbmFwYWtlLiIKTUNJRVJSX1NFUV9QT1JUX05PTkVYSVNURU5ULCAJIlRhIG5hcHJhdmEgbmkgbmFtZZroZW5hLiDIZSCeZWxpdGUgbmFtZXN0aXRpIG5vdiBnb25pbG5paywgbmEgbmFkem9ybmkgcGxvmuhpIGR2b2tsaWtuaXRlIGlrb25vICdEb2RhamFuamUgc3Ryb2puZSBvcHJlbWUnLiIKTUNJRVJSX1NFUV9QT1JUVU5TUEVDSUZJRUQsIAkiWmFodGV2YW5hIE1JREkgdnJhdGEgbmlzbyBuYW1lmuhlbmEuIgpNQ0lFUlJfU0VRX1RJTUVSLCAJCSJWc2kgdmXocHJlZHN0YXZub3N0bmkgmnRldmNpIHNvIHphc2VkZW5pLiBaYXByaXRlIGVubyBvZCBhcGxpa2FjaWogaW4gcG9za3VzaXRlIHpub3ZhLiIKCkVORAo=