CuEsChlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiNgoDQW55EhkKCHR5cGVfdXJsGAEgASgJUgd0eXBlVXJsEhQKBXZhbHVlGAIgASgMUgV2YWx1ZUJvChNjb20uZ29vZ2xlLnByb3RvYnVmQghBbnlQcm90b1ABWiVnaXRodWIuY29tL2dvbGFuZy9wcm90b2J1Zi9wdHlwZXMvYW55ogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSoErCgcSBR4AmgEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgA7CgkKAgglEgMiADsKCAoBCBIDIwA8CgkKAggLEgMjADwKCAoBCBIDJAAsCgkKAggBEgMkACwKCAoBCBIDJQApCgkKAggIEgMlACkKCAoBCBIDJgAiCgkKAggKEgMmACIKCAoBCBIDJwAhCgkKAggkEgMnACEK5BAKAgQAEgV5AJoBARrWECBgQW55YCBjb250YWlucyBhbiBhcmJpdHJhcnkgc2VyaWFsaXplZCBwcm90b2NvbCBidWZmZXIgbWVzc2FnZSBhbG9uZyB3aXRoIGEKIFVSTCB0aGF0IGRlc2NyaWJlcyB0aGUgdHlwZSBvZiB0aGUgc2VyaWFsaXplZCBtZXNzYWdlLgoKIFByb3RvYnVmIGxpYnJhcnkgcHJvdmlkZXMgc3VwcG9ydCB0byBwYWNrL3VucGFjayBBbnkgdmFsdWVzIGluIHRoZSBmb3JtCiBvZiB1dGlsaXR5IGZ1bmN0aW9ucyBvciBhZGRpdGlvbmFsIGdlbmVyYXRlZCBtZXRob2RzIG9mIHRoZSBBbnkgdHlwZS4KCiBFeGFtcGxlIDE6IFBhY2sgYW5kIHVucGFjayBhIG1lc3NhZ2UgaW4gQysrLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnk7CiAgICAgYW55LlBhY2tGcm9tKGZvbyk7CiAgICAgLi4uCiAgICAgaWYgKGFueS5VbnBhY2tUbygmZm9vKSkgewogICAgICAgLi4uCiAgICAgfQoKIEV4YW1wbGUgMjogUGFjayBhbmQgdW5wYWNrIGEgbWVzc2FnZSBpbiBKYXZhLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnkgPSBBbnkucGFjayhmb28pOwogICAgIC4uLgogICAgIGlmIChhbnkuaXMoRm9vLmNsYXNzKSkgewogICAgICAgZm9vID0gYW55LnVucGFjayhGb28uY2xhc3MpOwogICAgIH0KCiAgRXhhbXBsZSAzOiBQYWNrIGFuZCB1bnBhY2sgYSBtZXNzYWdlIGluIFB5dGhvbi4KCiAgICAgZm9vID0gRm9vKC4uLikKICAgICBhbnkgPSBBbnkoKQogICAgIGFueS5QYWNrKGZvbykKICAgICAuLi4KICAgICBpZiBhbnkuSXMoRm9vLkRFU0NSSVBUT1IpOgogICAgICAgYW55LlVucGFjayhmb28pCiAgICAgICAuLi4KCiAgRXhhbXBsZSA0OiBQYWNrIGFuZCB1bnBhY2sgYSBtZXNzYWdlIGluIEdvCgogICAgICBmb28gOj0gJnBiLkZvb3suLi59CiAgICAgIGFueSwgZXJyIDo9IHB0eXBlcy5NYXJzaGFsQW55KGZvbykKICAgICAgLi4uCiAgICAgIGZvbyA6PSAmcGIuRm9ve30KICAgICAgaWYgZXJyIDo9IHB0eXBlcy5Vbm1hcnNoYWxBbnkoYW55LCBmb28pOyBlcnIgIT0gbmlsIHsKICAgICAgICAuLi4KICAgICAgfQoKIFRoZSBwYWNrIG1ldGhvZHMgcHJvdmlkZWQgYnkgcHJvdG9idWYgbGlicmFyeSB3aWxsIGJ5IGRlZmF1bHQgdXNlCiAndHlwZS5nb29nbGVhcGlzLmNvbS9mdWxsLnR5cGUubmFtZScgYXMgdGhlIHR5cGUgVVJMIGFuZCB0aGUgdW5wYWNrCiBtZXRob2RzIG9ubHkgdXNlIHRoZSBmdWxseSBxdWFsaWZpZWQgdHlwZSBuYW1lIGFmdGVyIHRoZSBsYXN0ICcvJwogaW4gdGhlIHR5cGUgVVJMLCBmb3IgZXhhbXBsZSAiZm9vLmJhci5jb20veC95LnoiIHdpbGwgeWllbGQgdHlwZQogbmFtZSAieS56Ii4KCgogSlNPTgogPT09PQogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gb2YgYW4gYEFueWAgdmFsdWUgdXNlcyB0aGUgcmVndWxhcgogcmVwcmVzZW50YXRpb24gb2YgdGhlIGRlc2VyaWFsaXplZCwgZW1iZWRkZWQgbWVzc2FnZSwgd2l0aCBhbgogYWRkaXRpb25hbCBmaWVsZCBgQHR5cGVgIHdoaWNoIGNvbnRhaW5zIHRoZSB0eXBlIFVSTC4gRXhhbXBsZToKCiAgICAgcGFja2FnZSBnb29nbGUucHJvZmlsZTsKICAgICBtZXNzYWdlIFBlcnNvbiB7CiAgICAgICBzdHJpbmcgZmlyc3RfbmFtZSA9IDE7CiAgICAgICBzdHJpbmcgbGFzdF9uYW1lID0gMjsKICAgICB9CgogICAgIHsKICAgICAgICJAdHlwZSI6ICJ0eXBlLmdvb2dsZWFwaXMuY29tL2dvb2dsZS5wcm9maWxlLlBlcnNvbiIsCiAgICAgICAiZmlyc3ROYW1lIjogPHN0cmluZz4sCiAgICAgICAibGFzdE5hbWUiOiA8c3RyaW5nPgogICAgIH0KCiBJZiB0aGUgZW1iZWRkZWQgbWVzc2FnZSB0eXBlIGlzIHdlbGwta25vd24gYW5kIGhhcyBhIGN1c3RvbSBKU09OCiByZXByZXNlbnRhdGlvbiwgdGhhdCByZXByZXNlbnRhdGlvbiB3aWxsIGJlIGVtYmVkZGVkIGFkZGluZyBhIGZpZWxkCiBgdmFsdWVgIHdoaWNoIGhvbGRzIHRoZSBjdXN0b20gSlNPTiBpbiBhZGRpdGlvbiB0byB0aGUgYEB0eXBlYAogZmllbGQuIEV4YW1wbGUgKGZvciBtZXNzYWdlIFtnb29nbGUucHJvdG9idWYuRHVyYXRpb25dW10pOgoKICAgICB7CiAgICAgICAiQHR5cGUiOiAidHlwZS5nb29nbGVhcGlzLmNvbS9nb29nbGUucHJvdG9idWYuRHVyYXRpb24iLAogICAgICAgInZhbHVlIjogIjEuMjEycyIKICAgICB9CgoKCgoDBAABEgN5CAsK1woKBAQAAgASBJYBAhYayAogQSBVUkwvcmVzb3VyY2UgbmFtZSB0aGF0IHVuaXF1ZWx5IGlkZW50aWZpZXMgdGhlIHR5cGUgb2YgdGhlIHNlcmlhbGl6ZWQKIHByb3RvY29sIGJ1ZmZlciBtZXNzYWdlLiBUaGlzIHN0cmluZyBtdXN0IGNvbnRhaW4gYXQgbGVhc3QKIG9uZSAiLyIgY2hhcmFjdGVyLiBUaGUgbGFzdCBzZWdtZW50IG9mIHRoZSBVUkwncyBwYXRoIG11c3QgcmVwcmVzZW50CiB0aGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIHR5cGUgKGFzIGluCiBgcGF0aC9nb29nbGUucHJvdG9idWYuRHVyYXRpb25gKS4gVGhlIG5hbWUgc2hvdWxkIGJlIGluIGEgY2Fub25pY2FsIGZvcm0KIChlLmcuLCBsZWFkaW5nICIuIiBpcyBub3QgYWNjZXB0ZWQpLgoKIEluIHByYWN0aWNlLCB0ZWFtcyB1c3VhbGx5IHByZWNvbXBpbGUgaW50byB0aGUgYmluYXJ5IGFsbCB0eXBlcyB0aGF0IHRoZXkKIGV4cGVjdCBpdCB0byB1c2UgaW4gdGhlIGNvbnRleHQgb2YgQW55LiBIb3dldmVyLCBmb3IgVVJMcyB3aGljaCB1c2UgdGhlCiBzY2hlbWUgYGh0dHBgLCBgaHR0cHNgLCBvciBubyBzY2hlbWUsIG9uZSBjYW4gb3B0aW9uYWxseSBzZXQgdXAgYSB0eXBlCiBzZXJ2ZXIgdGhhdCBtYXBzIHR5cGUgVVJMcyB0byBtZXNzYWdlIGRlZmluaXRpb25zIGFzIGZvbGxvd3M6CgogKiBJZiBubyBzY2hlbWUgaXMgcHJvdmlkZWQsIGBodHRwc2AgaXMgYXNzdW1lZC4KICogQW4gSFRUUCBHRVQgb24gdGhlIFVSTCBtdXN0IHlpZWxkIGEgW2dvb2dsZS5wcm90b2J1Zi5UeXBlXVtdCiAgIHZhbHVlIGluIGJpbmFyeSBmb3JtYXQsIG9yIHByb2R1Y2UgYW4gZXJyb3IuCiAqIEFwcGxpY2F0aW9ucyBhcmUgYWxsb3dlZCB0byBjYWNoZSBsb29rdXAgcmVzdWx0cyBiYXNlZCBvbiB0aGUKICAgVVJMLCBvciBoYXZlIHRoZW0gcHJlY29tcGlsZWQgaW50byBhIGJpbmFyeSB0byBhdm9pZCBhbnkKICAgbG9va3VwLiBUaGVyZWZvcmUsIGJpbmFyeSBjb21wYXRpYmlsaXR5IG5lZWRzIHRvIGJlIHByZXNlcnZlZAogICBvbiBjaGFuZ2VzIHRvIHR5cGVzLiAoVXNlIHZlcnNpb25lZCB0eXBlIG5hbWVzIHRvIG1hbmFnZQogICBicmVha2luZyBjaGFuZ2VzLikKCiBOb3RlOiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGN1cnJlbnRseSBhdmFpbGFibGUgaW4gdGhlIG9mZmljaWFsCiBwcm90b2J1ZiByZWxlYXNlLCBhbmQgaXQgaXMgbm90IHVzZWQgZm9yIHR5cGUgVVJMcyBiZWdpbm5pbmcgd2l0aAogdHlwZS5nb29nbGVhcGlzLmNvbS4KCiBTY2hlbWVzIG90aGVyIHRoYW4gYGh0dHBgLCBgaHR0cHNgIChvciB0aGUgZW1wdHkgc2NoZW1lKSBtaWdodCBiZQogdXNlZCB3aXRoIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIHNlbWFudGljcy4KCgoOCgUEAAIABBIFlgECeQ0KDQoFBAACAAUSBJYBAggKDQoFBAACAAESBJYBCREKDQoFBAACAAMSBJYBFBUKVwoEBAACARIEmQECEhpJIE11c3QgYmUgYSB2YWxpZCBzZXJpYWxpemVkIHByb3RvY29sIGJ1ZmZlciBvZiB0aGUgYWJvdmUgc3BlY2lmaWVkIHR5cGUuCgoPCgUEAAIBBBIGmQEClgEWCg0KBQQAAgEFEgSZAQIHCg0KBQQAAgEBEgSZAQgNCg0KBQQAAgEDEgSZARARYgZwcm90bzMKxBEKG3ZvbHRoYV9wcm90b3MvYWRhcHRlci5wcm90bxIHYWRhcHRlchoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90byJSCg1BZGFwdGVyQ29uZmlnEkEKEWFkZGl0aW9uYWxfY29uZmlnGEAgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIQYWRkaXRpb25hbENvbmZpZyKjAwoHQWRhcHRlchIOCgJpZBgBIAEoCVICaWQSFgoGdmVuZG9yGAIgASgJUgZ2ZW5kb3ISGAoHdmVyc2lvbhgDIAEoCVIHdmVyc2lvbhIuCgZjb25maWcYECABKAsyFi5hZGFwdGVyLkFkYXB0ZXJDb25maWdSBmNvbmZpZxJLChZhZGRpdGlvbmFsX2Rlc2NyaXB0aW9uGEAgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIVYWRkaXRpb25hbERlc2NyaXB0aW9uEiwKEmxvZ2ljYWxfZGV2aWNlX2lkcxgEIAMoCVIQbG9naWNhbERldmljZUlkcxItChJsYXN0X2NvbW11bmljYXRpb24YBSABKANSEWxhc3RDb21tdW5pY2F0aW9uEiYKDmN1cnJlbnRSZXBsaWNhGAYgASgFUg5jdXJyZW50UmVwbGljYRIkCg10b3RhbFJlcGxpY2FzGAcgASgFUg10b3RhbFJlcGxpY2FzEhoKCGVuZHBvaW50GAggASgJUghlbmRwb2ludBISCgR0eXBlGAkgASgJ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dWYvcHR5cGVzL2VtcHR5+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSv4QCgYSBB4AMxAKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiADsKCQoCCCUSAyIAOwoICgEIEgMjAD4KCQoCCAsSAyMAPgoICgEIEgMkACwKCQoCCAESAyQALAoICgEIEgMlACsKCQoCCAgSAyUAKwoICgEIEgMmACIKCQoCCAoSAyYAIgoICgEIEgMnACEKCQoCCCQSAycAIQoICgEIEgMoAB8KCQoCCB8SAygAHwr7AgoCBAASAzMAEBrvAiBBIGdlbmVyaWMgZW1wdHkgbWVzc2FnZSB0aGF0IHlvdSBjYW4gcmUtdXNlIHRvIGF2b2lkIGRlZmluaW5nIGR1cGxpY2F0ZWQKIGVtcHR5IG1lc3NhZ2VzIGluIHlvdXIgQVBJcy4gQSB0eXBpY2FsIGV4YW1wbGUgaXMgdG8gdXNlIGl0IGFzIHRoZSByZXF1ZXN0CiBvciB0aGUgcmVzcG9uc2UgdHlwZSBvZiBhbiBBUEkgbWV0aG9kLiBGb3IgaW5zdGFuY2U6CgogICAgIHNlcnZpY2UgRm9vIHsKICAgICAgIHJwYyBCYXIoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KSByZXR1cm5zIChnb29nbGUucHJvdG9idWYuRW1wdHkpOwogICAgIH0KCiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYEVtcHR5YCBpcyBlbXB0eSBKU09OIG9iamVjdCBge31gLgoKCgoDBAABEgMzCA1iBnByb3RvMwq/awoadm9sdGhhX3Byb3Rvcy9jb21tb24ucHJvdG8SBmNvbW1vbiIXCgNLZXkSEAoDa2V5GAEgASgJUgNrZXkiFAoCSUQSDgoCaWQYASABKAlSAmlkIicKA0lEcxIgCgVpdGVtcxgBIAMoCzIKLmNvbW1vbi5JRFIFaXRlbXMiegoKQ29ubmVjdGlvbhIaCghlbmRwb2ludBgBIAEoCVIIZW5kcG9pbnQSIAoLY29udGV4dEluZm8YAiABKAlSC2NvbnRleHRJbmZvEi4KE2tlZXBfYWxpdmVfaW50ZXJ2YWwYAyABKANSEWtlZXBBbGl2ZUludGVydmFsImgKCkFkbWluU3RhdGUiWgoFVHlwZXMSCwoHVU5LTk9XThAAEhIKDlBSRVBST1ZJU0lPTkVEEAESCwoHRU5BQkxFRBACEgwKCERJU0FCTEVEEAMSFQoRRE9XTkxPQURJTkdfSU1BR0UQBCKfAQoKT3BlclN0YXR1cyKQAQoFVHlwZXMSCwoHVU5LTk9XThAAEg4KCkRJU0NPVkVSRUQQARIOCgpBQ1RJVkFUSU5HEAISCwoHVEVTVElORxADEgoKBkFDVElWRRAEEgoKBkZBSUxFRBAFEg8KC1JFQ09OQ0lMSU5HEAYSFgoSUkVDT05DSUxJTkdfRkFJTEVEEAcSDAoIUkVCT09URUQQCCJFCg1Db25uZWN0U3RhdHVzIjQKBVR5cGVzEgsKB1VOS05PV04QABIPCgtVTlJFQUNIQUJMRRABEg0KCVJFQUNIQUJMRRACIvIBCg1PcGVyYXRpb25SZXNwEj0KBGNvZGUYASABKA4yKS5jb21tb24uT3BlcmF0aW9uUmVzcC5PcGVyYXRpb25SZXR1cm5Db2RlUgRjb2RlEicKD2FkZGl0aW9uYWxfaW5mbxgCIAEoCVIOYWRkaXRpb25hbEluZm8ieQoTT3BlcmF0aW9uUmV0dXJuQ29kZRIVChFPUEVSQVRJT05fU1VDQ0VTUxAAEhUKEU9QRVJBVElPTl9GQUlMVVJFEAESGQoVT1BFUkFUSU9OX1VOU1VQUE9SVEVEEAISGQoVT1BFUkFUSU9OX0lOX1BST0dSRVNTEAMi2xYKDlBvcnRTdGF0aXN0aWNzEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIZCghyeF9ieXRlcxgCIAEoBlIHcnhCeXRlcxIhCgpyeF9wYWNrZXRzGAMgASgGQgIYAVIJcnhQYWNrZXRzEiwKEHJ4X3VjYXN0X3BhY2tldHMYBCABKAZCAhgBUg5yeFVjYXN0UGFja2V0cxIsChByeF9tY2FzdF9wYWNrZXRzGAUgASgGQgIYAVIOcnhNY2FzdFBhY2tldHMSLAoQcnhfYmNhc3RfcGFja2V0cxgGIAEoBkICGAFSDnJ4QmNhc3RQYWNrZXRzEiwKEHJ4X2Vycm9yX3BhY2tldHMYByABKAZCAhgBUg5yeEVycm9yUGFja2V0cxIbCglyeF9mcmFtZXMYESABKAZSCHJ4RnJhbWVzEiAKDHJ4X2ZyYW1lc182NBgSIAEoBlIKcnhGcmFtZXM2NBInChByeF9mcmFtZXNfNjVfMTI3GBMgASgGUg1yeEZyYW1lczY1MTI3EikKEXJ4X2ZyYW1lc18xMjhfMjU1GBQgASgGUg5yeEZyYW1lczEyODI1NRIpChFyeF9mcmFtZXNfMjU2XzUxMRgVIAEoBlIOcnhGcmFtZXMyNTY1MTESKwoScnhfZnJhbWVzXzUxMl8xMDIzGBYgASgGUg9yeEZyYW1lczUxMjEwMjMSLQoTcnhfZnJhbWVzXzEwMjRfMTUxOBgXIAEoBlIQcnhGcmFtZXMxMDI0MTUxOBItChNyeF9mcmFtZXNfMTUxOV8yMDQ3GBggASgGUhByeEZyYW1lczE1MTkyMDQ3Ei0KE3J4X2ZyYW1lc18yMDQ4XzQwOTUYGSABKAZSEHJ4RnJhbWVzMjA0ODQwOTUSLQoTcnhfZnJhbWVzXzQwOTZfOTIxNhgaIAEoBlIQcnhGcmFtZXM0MDk2OTIxNhIvChRyeF9mcmFtZXNfOTIxN18xNjM4MxgbIAEoBlIRcnhGcmFtZXM5MjE3MTYzODMSIgoNcnhfY3JjX2Vycm9ycxgOIAEoBlILcnhDcmNFcnJvcnMSLgoScnhVbmRlcnNpemVQYWNrZXRzGCcgASgGUhJyeFVuZGVyc2l6ZVBhY2tldHMSLAoRcnhPdmVyc2l6ZVBhY2tldHMYKCABKAZSEXJ4T3ZlcnNpemVQYWNrZXRzEhQKBXJ4R2VtGCsgASgGUgVyeEdlbRIiCgxyeEdlbURyb3BwZWQYLCABKAZSDHJ4R2VtRHJvcHBlZBIcCglyeEdlbUlkbGUYLSABKAZSCXJ4R2VtSWRsZRImCg5yeEdlbUNvcnJlY3RlZBguIAEoBlIOcnhHZW1Db3JyZWN0ZWQSIgoMcnhHZW1JbGxlZ2FsGC8gASgGUgxyeEdlbUlsbGVnYWwSKAoPcnhGcmFnbWVudEVycm9yGDAgASgGUg9yeEZyYWdtZW50RXJyb3ISKgoQcnhQYWNrZXRzRHJvcHBlZBgxIAEoBlIQcnhQYWNrZXRzRHJvcHBlZBI4ChdyeENwdU9tY2lQYWNrZXRzRHJvcHBlZBgyIAEoBlIXcnhDcHVPbWNpUGFja2V0c0Ryb3BwZWQSFAoFcnhDcHUYMyABKAZSBXJ4Q3B1EhYKBnJ4T21jaRg0IAEoBlIGcnhPbWNpEjQKFXJ4T21jaVBhY2tldHNDcmNFcnJvchg1IAEoBlIVcnhPbWNpUGFja2V0c0NyY0Vycm9yEiwKEXJ4RmNzRXJyb3JQYWNrZXRzGD4gASgGUhFyeEZjc0Vycm9yUGFja2V0cxIZCgh0eF9ieXRlcxgIIAEoBlIHdHhCeXRlcxIhCgp0eF9wYWNrZXRzGAkgASgGQgIYAVIJdHhQYWNrZXRzEiwKEHR4X3VjYXN0X3BhY2tldHMYCiABKAZCAhgBUg50eFVjYXN0UGFja2V0cxIsChB0eF9tY2FzdF9wYWNrZXRzGAsgASgGQgIYAVIOdHhNY2FzdFBhY2tldHMSLAoQdHhfYmNhc3RfcGFja2V0cxgMIAEoBkICGAFSDnR4QmNhc3RQYWNrZXRzEiwKEHR4X2Vycm9yX3BhY2tldHMYDSABKAZCAhgBUg50eEVycm9yUGFja2V0cxIbCgl0eF9mcmFtZXMYHCABKAZSCHR4RnJhbWVzEiAKDHR4X2ZyYW1lc182NBgdIAEoBlIKdHhGcmFtZXM2NBInChB0eF9mcmFtZXNfNjVfMTI3GB4gASgGUg10eEZyYW1lczY1MTI3EikKEXR4X2ZyYW1lc18xMjhfMjU1GB8gASgGUg50eEZyYW1lczEyODI1NRIpChF0eF9mcmFtZXNfMjU2XzUxMRggIAEoBlIOdHhGcmFtZXMyNTY1MTESKwoSdHhfZnJhbWVzXzUxMl8xMDIzGCEgASgGUg90eEZyYW1lczUxMjEwMjMSLQoTdHhfZnJhbWVzXzEwMjRfMTUxOBgiIAEoBlIQdHhGcmFtZXMxMDI0MTUxOBItChN0eF9mcmFtZXNfMTUxOV8yMDQ3GCMgASgGUhB0eEZyYW1lczE1MTkyMDQ3Ei0KE3R4X2ZyYW1lc18yMDQ4XzQwOTUYJCABKAZSEHR4RnJhbWVzMjA0ODQwOTUSLQoTdHhfZnJhbWVzXzQwOTZfOTIxNhglIAEoBlIQdHhGcmFtZXM0MDk2OTIxNhIvChR0eF9mcmFtZXNfOTIxN18xNjM4MxgmIAEoBlIRdHhGcmFtZXM5MjE3MTYzODMSLgoSdHhVbmRlcnNpemVQYWNrZXRzGCkgASgGUhJ0eFVuZGVyc2l6ZVBhY2tldHMSLAoRdHhPdmVyc2l6ZVBhY2tldHMYKiABKAZSEXR4T3ZlcnNpemVQYWNrZXRzEhQKBXR4R2VtGDYgASgGUgV0eEdlbRIUCgV0eENwdRg3IAEoBlIFdHhDcHUSFgoGdHhPbWNpGDggASgGUgZ0eE9tY2kSNgoWdHhEcm9wcGVkSWxsZWdhbExlbmd0aBg5IAEoBlIWdHhEcm9wcGVkSWxsZWdhbExlbmd0aBIsChF0eERyb3BwZWRUcGlkTWlzcxg6IAEoBlIRdHhEcm9wcGVkVHBpZE1pc3MSKgoQdHhEcm9wcGVkVmlkTWlzcxg7IAEoBlIQdHhEcm9wcGVkVmlkTWlzcxImCg50eERyb3BwZWRUb3RhbBg8IAEoBlIOdHhEcm9wcGVkVG90YWwSHQoKYmlwX2Vycm9ycxgPIAEoBlIJYmlwRXJyb3JzEhsKCWJpcF91bml0cxg9IAEoBlIIYmlwVW5pdHMSHAoJdGltZXN0YW1wGBAgASgHUgl0aW1lc3RhbXASJgoPcnhfdWNhc3RfZnJhbWVzGD8gASgGUg1yeFVjYXN0RnJhbWVzEiYKD3J4X21jYXN0X2ZyYW1lcxhAIAEoBlINcnhNY2FzdEZyYW1lcxImCg9yeF9iY2FzdF9mcmFtZXMYQSABKAZSDXJ4QmNhc3RGcmFtZXMSJgoPcnhfZXJyb3JfZnJhbWVzGEIgASgGUg1yeEVycm9yRnJhbWVzEiYKD3J4X3JpZ2h0X2ZyYW1lcxhDIAEoBlINcnhSaWdodEZyYW1lcxImCg90eF91Y2FzdF9mcmFtZXMYRCABKAZSDXR4VWNhc3RGcmFtZXMSJgoPdHhfbWNhc3RfZnJhbWVzGEUgASgGUg10eE1jYXN0RnJhbWVzEiYKD3R4X2JjYXN0X2ZyYW1lcxhGIAEoBlINdHhCY2FzdEZyYW1lcxImCg90eF9lcnJvcl9mcmFtZXMYRyABKAZSDXR4RXJyb3JGcmFtZXMSLgoTcnhfZGlzY2FyZGVkX2ZyYW1lcxhIIAEoBlIRcnhEaXNjYXJkZWRGcmFtZXMqHAoMVGVzdE1vZGVLZXlzEgwKCGFwaV90ZXN0EABCRQoTb3JnLm9wZW5jb3JkLnZvbHRoYVouZ2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL2NvbW1vbkqxTQoHEgUAANIBAQoICgEMEgMAABIKCAoBCBIDAgBFCgkKAggLEgMCAEUKCAoBAhIDBAAPCggKAQgSAwYALAoJCgIIARIDBgAsCiQKAgQAEgQJAAsBGhggRnVsbCBwYXRoIGZvciBLViBzdG9yZQoKCgoDBAABEgMJCAsKCwoEBAACABIDCgQTCg0KBQQAAgAEEgQKBAkNCgwKBQQAAgAFEgMKBAoKDAoFBAACAAESAwoLDgoMCgUEAAIAAxIDChESCioKAgQBEgQOABABGh4gQ29u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bGVjdG9yEhIKA2dldBgCIAEoCUgAUgNnZXQSEgoDcHV0GAMgASgJSABSA3B1dBIUCgRwb3N0GAQgASgJSABSBHBvc3QSGAoGZGVsZXRlGAUgASgJSABSBmRlbGV0ZRIWCgVwYXRjaBgGIAEoCUgAUgVwYXRjaBI3CgZjdXN0b20YCCABKAsyHS5nb29nbGUuYXBpLkN1c3RvbUh0dHBQYXR0ZXJuSABSBmN1c3RvbRISCgRib2R5GAcgASgJUgRib2R5EiMKDXJlc3BvbnNlX2JvZHkYDCABKAlSDHJlc3BvbnNlQm9keRJFChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVISYWRkaXRpb25hbEJpbmRpbmdzQgkKB3BhdHRlcm4iOwoRQ3VzdG9tSHR0cFBhdHRlcm4SEgoEa2luZBgBIAEoCVIEa2luZBISCgRwYXRoGAIgASgJUgRwYXRoQmoKDmNvbS5nb29nbGUuYXBpQglIdHRwUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnP4AQGiAgRHQVBJSpd0CgcSBQ8A+wIBCr4ECgEMEgMPABIyswQgQ29weXJpZ2h0IDIwMTggR29vZ2xlIExMQy4KCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCgoICgECEgMRABMKCAoBCBIDEwAfCgkKAggfEgMTAB8KCAoBCBIDFABYCgkKAggLEgMUAFgKCAoBCBIDFQAiCgkKAggKEgMVACIKCAoBCBIDFgAqCgkKAggIEgMWACoKCAoBCBIDFwAnCgkKAggBEgMXACcKCAoBCBIDGAAiCgkKAggkEgMYACIKzQEKAgQAEgQdACoBGsABIERlZmluZXMgdGhlIEhUVFAgY29uZmlndXJhdGlvbiBmb3IgYW4gQVBJIHNlcnZpY2UuIEl0IGNvbnRhaW5zIGEgbGlzdCBvZgogW0h0dHBSdWxlXVtnb29nbGUuYXBpLkh0dHBSdWxlXSwgZWFjaCBzcGVjaWZ5aW5nIHRoZSBtYXBwaW5nIG9mIGFuIFJQQyBtZXRob2QKIHRvIG9uZSBvciBtb3JlIEhUVFAgUkVTVCBBUEkgbWV0aG9kcy4KCgoKAwQAARIDHQgMCqIBCgQEAAIAEgMhAh4alAEgQSBsaXN0IG9mIEhUVFAgY29uZmlndXJhdGlvbiBydWxlcyB0aGF0IGFwcGx5IHRvIGluZGl2aWR1YWwgQVBJIG1ldGhvZHMuCgogKipOT1RFOioqIEFsbCBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24gcnVsZXMgZm9sbG93ICJsYXN0IG9uZSB3aW5zIiBvcmRlci4KCgwKBQQAAgAEEgMhAgoKDAoFBAACAAYSAyELEwoMCgUEAAIAARIDIRQZCgwKBQQAAgADEgMhHB0KkwIKBAQAAgESAykCKxqFAiBXaGVuIHNldCB0byB0cnVlLCBVUkwgcGF0aCBwYXJtZXRlcnMgd2lsbCBiZSBmdWxseSBVUkktZGVjb2RlZCBleGNlcHQgaW4KIGNhc2VzIG9mIHNpbmdsZSBzZWdtZW50IG1hdGNoZXMgaW4gcmVzZXJ2ZWQgZXhwYW5zaW9uLCB3aGVyZSAiJTJGIiB3aWxsIGJlCiBsZWZ0IGVuY29kZWQuCgogVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gbm90IGRlY29kZSBSRkMgNjU3MCByZXNlcnZlZCBjaGFyYWN0ZXJzIGluIG11bHRpCiBzZWdtZW50IG1hdGNoZXMuCgoNCgUEAAIBBBIEKQIhHgoMCgUEAAIBBRIDKQIGCgwKBQQAAgEBEgMpByYKDAoFBAACAQMSAykpKgq7UwoCBAESBrwCAPICARqsUyAjIGdSUEMgVHJhbnNjb2RpbmcKCiBnUlBDIFRyYW5zY29kaW5nIGlzIGEgZmVhdHVyZSBmb3IgbWFwcGluZyBiZXR3ZWVuIGEgZ1JQQyBtZXRob2QgYW5kIG9uZSBvcgogbW9yZSBIVFRQIFJFU1QgZW5kcG9pbnRzLiBJdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBidWlsZCBhIHNpbmdsZSBBUEkgc2VydmljZQogdGhhdCBzdXBwb3J0cyBib3RoIGdSUEMgQVBJcyBhbmQgUkVTVCBBUElzLiBNYW55IHN5c3RlbXMsIGluY2x1ZGluZyBbR29vZ2xlCiBBUElzXShodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlYXBpcy9nb29nbGVhcGlzKSwKIFtDbG91ZCBFbmRwb2ludHNdKGh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9lbmRwb2ludHMpLCBbZ1JQQwogR2F0ZXdheV0oaHR0cHM6Ly9naXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheSksCiBhbmQgW0Vudm95XShodHRwczovL2dpdGh1Yi5jb20vZW52b3lwcm94eS9lbnZveSkgcHJveHkgc3VwcG9ydCB0aGlzIGZlYXR1cmUKIGFuZCB1c2UgaXQgZm9yIGxhcmdlIHNjYWxlIHByb2R1Y3Rpb24gc2VydmljZXMuCgogYEh0dHBSdWxlYCBkZWZpbmVzIHRoZSBzY2hlbWEgb2YgdGhlIGdSUEMvUkVTVCBtYXBwaW5nLiBUaGUgbWFwcGluZyBzcGVjaWZpZXMKIGhvdyBkaWZmZXJlbnQgcG9ydGlvbnMgb2YgdGhlIGdSUEMgcmVxdWVzdCBtZXNzYWdlIGFyZSBtYXBwZWQgdG8gdGhlIFVSTAogcGF0aCwgVVJMIHF1ZXJ5IHBhcmFtZXRlcnMsIGFuZCBIVFRQIHJlcXVlc3QgYm9keS4gSXQgYWxzbyBjb250cm9scyBob3cgdGhlCiBnUlBDIHJlc3BvbnNlIG1lc3NhZ2UgaXMgbWFwcGVkIHRvIHRoZSBIVFRQIHJlc3BvbnNlIGJvZHkuIGBIdHRwUnVsZWAgaXMKIHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYW4gYGdvb2dsZS5hcGkuaHR0cGAgYW5ub3RhdGlvbiBvbiB0aGUgZ1JQQyBtZXRob2QuCgogRWFjaCBtYXBwaW5nIHNwZWNpZmllcyBhIFVSTCBwYXRoIHRlbXBsYXRlIGFuZCBhbiBIVFRQIG1ldGhvZC4gVGhlIHBhdGgKIHRlbXBsYXRlIG1heSByZWZlciB0byBvbmUgb3IgbW9yZSBmaWVsZHMgaW4gdGhlIGdSUEMgcmVxdWVzdCBtZXNzYWdlLCBhcyBsb25nCiBhcyBlYWNoIGZpZWxkIGlzIGEgbm9uLXJlcGVhdGVkIGZpZWxkIHdpdGggYSBwcmltaXRpdmUgKG5vbi1tZXNzYWdlKSB0eXBlLgogVGhlIHBhdGggdGVtcGxhdGUgY29udHJvbHMgaG93IGZpZWxkcyBvZiB0aGUgcmVxdWVzdCBtZXNzYWdlIGFyZSBtYXBwZWQgdG8KIHRoZSBVUkwgcGF0aC4KCiBFeGFtcGxlOgoKICAgICBzZXJ2aWNlIE1lc3NhZ2luZyB7CiAgICAgICBycGMgR2V0TWVzc2FnZShHZXRNZXNzYWdlUmVxdWVzdCkgcmV0dXJucyAoTWVzc2FnZSkgewogICAgICAgICBvcHRpb24gKGdvb2dsZS5hcGkuaHR0cCkgPSB7CiAgICAgICAgICAgICBnZXQ6ICIvdjEve25hbWU9bWVzc2FnZXMvKn0iCiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgR2V0TWVzc2FnZVJlcXVlc3QgewogICAgICAgc3RyaW5nIG5hbWUgPSAxOyAvLyBNYXBwZWQgdG8gVVJMIHBhdGguCiAgICAgfQogICAgIG1lc3NhZ2UgTWVzc2FnZSB7CiAgICAgICBzdHJpbmcgdGV4dCA9IDE7IC8vIFRoZSByZXNvdXJjZSBjb250ZW50LgogICAgIH0KCiBUaGlzIGVuYWJsZXMgYW4gSFRUUCBSRVNUIHRvIGdSUEMgbWFwcGluZyBhcyBiZWxvdzoKCiBIVFRQIHwgZ1JQQwogLS0tLS18LS0tLS0KIGBHRVQgL3YxL21lc3NhZ2VzLzEyMzQ1NmAgIHwgYEdldE1lc3NhZ2UobmFtZTogIm1lc3NhZ2VzLzEyMzQ1NiIpYAoKIEFueSBmaWVsZHMgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZSB3aGljaCBhcmUgbm90IGJvdW5kIGJ5IHRoZSBwYXRoIHRlbXBsYXRlCiBhdXRvbWF0aWNhbGx5IGJlY29tZSBIVFRQIHF1ZXJ5IHBhcmFtZXRlcnMgaWYgdGhlcmUgaXMgbm8gSFRUUCByZXF1ZXN0IGJvZHkuCiBGb3IgZXhhbXBsZToKCiAgICAgc2VydmljZSBNZXNzYWdpbmcgewogICAgICAgcnBjIEdldE1lc3NhZ2UoR2V0TWVzc2FnZVJlcXVlc3QpIHJldHVybnMgKE1lc3NhZ2UpIHsKICAgICAgICAgb3B0aW9uIChnb29nbGUuYXBpLmh0dHApID0gewogICAgICAgICAgICAgZ2V0OiIvdjEvbWVzc2FnZXMve21lc3NhZ2VfaWR9IgogICAgICAgICB9OwogICAgICAgfQogICAgIH0KICAgICBtZXNzYWdlIEdldE1lc3NhZ2VSZXF1ZXN0IHsKICAgICAgIG1lc3NhZ2UgU3ViTWVzc2FnZSB7CiAgICAgICAgIHN0cmluZyBzdWJmaWVsZCA9IDE7CiAgICAgICB9CiAgICAgICBzdHJpbmcgbWVzc2FnZV9pZCA9IDE7IC8vIE1hcHBlZCB0byBVUkwgcGF0aC4KICAgICAgIGludDY0IHJldmlzaW9uID0gMjsgICAgLy8gTWFwcGVkIHRvIFVSTCBxdWVyeSBwYXJhbWV0ZXIgYHJldmlzaW9uYC4KICAgICAgIFN1Yk1lc3NhZ2Ugc3ViID0gMzsgICAgLy8gTWFwcGVkIHRvIFVSTCBxdWVyeSBwYXJhbWV0ZXIgYHN1Yi5zdWJmaWVsZGAuCiAgICAgfQoKIFRoaXMgZW5hYmxlcyBhIEhUVFAgSlNPTiB0byBSUEMgbWFwcGluZyBhcyBiZWxvdzoKCiBIVFRQIHwgZ1JQQwogLS0tLS18LS0tLS0KIGBHRVQgL3YxL21lc3NhZ2VzLzEyMzQ1Nj9yZXZpc2lvbj0yJnN1Yi5zdWJmaWVsZD1mb29gIHwKIGBHZXRNZXNzYWdlKG1lc3NhZ2VfaWQ6ICIxMjM0NTYiIHJldmlzaW9uOiAyIHN1YjogU3ViTWVzc2FnZShzdWJmaWVsZDoKICJmb28iKSlgCgogTm90ZSB0aGF0IGZpZWxkcyB3aGljaCBhcmUgbWFwcGVkIHRvIFVSTCBxdWVyeSBwYXJhbWV0ZXJzIG11c3QgaGF2ZSBhCiBwcmltaXRpdmUgdHlwZSBvciBhIHJlcGVhdGVkIHByaW1pdGl2ZSB0eXBlIG9yIGEgbm9uLXJlcGVhdGVkIG1lc3NhZ2UgdHlwZS4KIEluIHRoZSBjYXNlIG9mIGEgcmVwZWF0ZWQgdHlwZSwgdGhlIHBhcmFtZXRlciBjYW4gYmUgcmVwZWF0ZWQgaW4gdGhlIFVSTAogYXMgYC4uLj9wYXJhbT1BJnBhcmFtPUJgLiBJbiB0aGUgY2FzZSBvZiBhIG1lc3NhZ2UgdHlwZSwgZWFjaCBmaWVsZCBvZiB0aGUKIG1lc3NhZ2UgaXMgbWFwcGVkIHRvIGEgc2VwYXJhdGUgcGFyYW1ldGVyLCBzdWNoIGFzCiBgLi4uP2Zvby5hPUEmZm9vLmI9QiZmb28uYz1DYC4KCiBGb3IgSFRUUCBtZXRob2RzIHRoYXQgYWxsb3cgYSByZXF1ZXN0IGJvZHksIHRoZSBgYm9keWAgZmllbGQKIHNwZWNpZmllcyB0aGUgbWFwcGluZy4gQ29uc2lkZXIgYSBSRVNUIHVwZGF0ZSBtZXRob2Qgb24gdGhlCiBtZXNzYWdlIHJlc291cmNlIGNvbGxlY3Rpb246CgogICAgIHNlcnZpY2UgTWVzc2FnaW5nIHsKICAgICAgIHJwYyBVcGRhdGVNZXNzYWdlKFVwZGF0ZU1lc3NhZ2VSZXF1ZXN0KSByZXR1cm5zIChNZXNzYWdlKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKSA9IHsKICAgICAgICAgICBwYXRjaDogIi92MS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgICAgYm9keTogIm1lc3NhZ2UiCiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgVXBkYXRlTWVzc2FnZVJlcXVlc3QgewogICAgICAgc3RyaW5nIG1lc3NhZ2VfaWQgPSAxOyAvLyBtYXBwZWQgdG8gdGhlIFVSTAogICAgICAgTWVzc2FnZSBtZXNzYWdlID0gMjsgICAvLyBtYXBwZWQgdG8gdGhlIGJvZHkKICAgICB9CgogVGhlIGZvbGxvd2luZyBIVFRQIEpTT04gdG8gUlBDIG1hcHBpbmcgaXMgZW5hYmxlZCwgd2hlcmUgdGhlCiByZXByZXNlbnRhdGlvbiBvZiB0aGUgSlNPTiBpbiB0aGUgcmVxdWVzdCBib2R5IGlzIGRldGVybWluZWQgYnkKIHByb3RvcyBKU09OIGVuY29kaW5nOgoKIEhUVFAgfCBnUlBDCiAtLS0tLXwtLS0tLQogYFBBVENIIC92MS9tZXNzYWdlcy8xMjM0NTYgeyAidGV4dCI6ICJIaSEiIH1gIHwgYFVwZGF0ZU1lc3NhZ2UobWVzc2FnZV9pZDoKICIxMjM0NTYiIG1lc3NhZ2UgeyB0ZXh0OiAiSGkhIiB9KWAKCiBUaGUgc3BlY2lhbCBuYW1lIGAqYCBjYW4gYmUgdXNlZCBpbiB0aGUgYm9keSBtYXBwaW5nIHRvIGRlZmluZSB0aGF0CiBldmVyeSBmaWVsZCBub3QgYm91bmQgYnkgdGhlIHBhdGggdGVtcGxhdGUgc2hvdWxkIGJlIG1hcHBlZCB0byB0aGUKIHJlcXVlc3QgYm9keS4gIFRoaXMgZW5hYmxlcyB0aGUgZm9sbG93aW5nIGFsdGVybmF0aXZlIGRlZmluaXRpb24gb2YKIHRoZSB1cGRhdGUgbWV0aG9kOgoKICAgICBzZXJ2aWNlIE1lc3NhZ2luZyB7CiAgICAgICBycGMgVXBkYXRlTWVzc2FnZShNZXNzYWdlKSByZXR1cm5zIChNZXNzYWdlKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKSA9IHsKICAgICAgICAgICBwYXRjaDogIi92MS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgICAgYm9keTogIioiCiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgTWVzc2FnZSB7CiAgICAgICBzdHJpbmcgbWVzc2FnZV9pZCA9IDE7CiAgICAgICBzdHJpbmcgdGV4dCA9IDI7CiAgICAgfQoKCiBUaGUgZm9sbG93aW5nIEhUVFAgSlNPTiB0byBSUEMgbWFwcGluZyBpcyBlbmFibGVkOgoKIEhUVFAgfCBnUlBDCiAtLS0tLXwtLS0tLQogYFBBVENIIC92MS9tZXNzYWdlcy8xMjM0NTYgeyAidGV4dCI6ICJIaSEiIH1gIHwgYFVwZGF0ZU1lc3NhZ2UobWVzc2FnZV9pZDoKICIxMjM0NTYiIHRleHQ6ICJIaSEiKWAKCiBOb3RlIHRoYXQgd2hlbiB1c2luZyBgKmAgaW4gdGhlIGJvZHkgbWFwcGluZywgaXQgaXMgbm90IHBvc3NpYmxlIHRvCiBoYXZlIEhUVFAgcGFyYW1ldGVycywgYXMgYWxsIGZpZWxkcyBub3QgYm91bmQgYnkgdGhlIHBhdGggZW5kIGluCiB0aGUgYm9keS4gVGhpcyBtYWtlcyB0aGlzIG9wdGlvbiBtb3JlIHJhcmVseSB1c2VkIGluIHByYWN0aWNlIHdoZW4KIGRlZmluaW5nIFJFU1QgQVBJcy4gVGhlIGNvbW1vbiB1c2FnZSBvZiBgKmAgaXMgaW4gY3VzdG9tIG1ldGhvZHMKIHdoaWNoIGRvbid0IHVzZSB0aGUgVVJMIGF0IGFsbCBmb3IgdHJhbnNmZXJyaW5nIGRhdGEuCgogSXQgaXMgcG9zc2libGUgdG8gZGVmaW5lIG11bHRpcGxlIEhUVFAgbWV0aG9kcyBmb3Igb25lIFJQQyBieSB1c2luZwogdGhlIGBhZGRpdGlvbmFsX2JpbmRpbmdzYCBvcHRpb24uIEV4YW1wbGU6CgogICAgIHNlcnZpY2UgTWVzc2FnaW5nIHsKICAgICAgIHJwYyBHZXRNZXNzYWdlKEdldE1lc3NhZ2VSZXF1ZXN0KSByZXR1cm5zIChNZXNzYWdlKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKSA9IHsKICAgICAgICAgICBnZXQ6ICIvdjEvbWVzc2FnZXMve21lc3NhZ2VfaWR9IgogICAgICAgICAgIGFkZGl0aW9uYWxfYmluZGluZ3MgewogICAgICAgICAgICAgZ2V0OiAiL3YxL3VzZXJzL3t1c2VyX2lkfS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgICAgfQogICAgICAgICB9OwogICAgICAgfQogICAgIH0KICAgICBtZXNzYWdlIEdldE1lc3NhZ2VSZXF1ZXN0IHsKICAgICAgIHN0cmluZyBtZXNzYWdlX2lkID0gMTsKICAgICAgIHN0cmluZyB1c2VyX2lkID0gMjsKICAgICB9CgogVGhpcyBlbmFibGVzIHRoZSBmb2xsb3dpbmcgdHdvIGFsdGVybmF0aXZlIEhUVFAgSlNPTiB0byBSUEMgbWFwcGluZ3M6CgogSFRUUCB8IGdSUEMKIC0tLS0tfC0tLS0tCiBgR0VUIC92MS9tZXNzYWdlcy8xMjM0NTZgIHwgYEdldE1lc3NhZ2UobWVzc2FnZV9pZDogIjEyMzQ1NiIpYAogYEdFVCAvdjEvdXNlcnMvbWUvbWVzc2FnZXMvMTIzNDU2YCB8IGBHZXRNZXNzYWdlKHVzZXJfaWQ6ICJtZSIgbWVzc2FnZV9pZDoKICIxMjM0NTYiKWAKCiAjIyBSdWxlcyBmb3IgSFRUUCBtYXBwaW5nCgogMS4gTGVhZiByZXF1ZXN0IGZpZWxkcyAocmVjdXJzaXZlIGV4cGFuc2lvbiBuZXN0ZWQgbWVzc2FnZXMgaW4gdGhlIHJlcXVlc3QKICAgIG1lc3NhZ2UpIGFyZSBjbGFzc2lmaWVkIGludG8gdGhyZWUgY2F0ZWdvcmllczoKICAgIC0gRmllbGRzIHJlZmVycmVkIGJ5IHRoZSBwYXRoIHRlbXBsYXRlLiBUaGV5IGFyZSBwYXNzZWQgdmlhIHRoZSBVUkwgcGF0aC4KICAgIC0gRmllbGRzIHJlZmVycmVkIGJ5IHRoZSBbSHR0cFJ1bGUuYm9keV1bZ29vZ2xlLmFwaS5IdHRwUnVsZS5ib2R5XS4gVGhleQogICAgYXJlIHBhc3NlZCB2aWEgdGhlIEhUVFAKICAgICAgcmVxdWVzdCBib2R5LgogICAgLSBBbGwgb3RoZXIgZmllbGRzIGFyZSBwYXNzZWQgdmlhIHRoZSBVUkwgcXVlcnkgcGFyYW1ldGVycywgYW5kIHRoZQogICAgICBwYXJhbWV0ZXIgbmFtZSBpcyB0aGUgZmllbGQgcGF0aCBpbiB0aGUgcmVxdWVzdCBtZXNzYWdlLiBBIHJlcGVhdGVkCiAgICAgIGZpZWxkIGNhbiBiZSByZXByZXNlbnRlZCBhcyBtdWx0aXBsZSBxdWVyeSBwYXJhbWV0ZXJzIHVuZGVyIHRoZSBzYW1lCiAgICAgIG5hbWUuCiAgMi4gSWYgW0h0dHBSdWxlLmJvZHldW2dvb2dsZS5hcGkuSHR0cFJ1bGUuYm9keV0gaXMgIioiLCB0aGVyZSBpcyBubyBVUkwKICBxdWVyeSBwYXJhbWV0ZXIsIGFsbCBmaWVsZHMKICAgICBhcmUgcGFzc2VkIHZpYSBVUkwgcGF0aCBhbmQgSFRUUCByZXF1ZXN0IGJvZHkuCiAgMy4gSWYgW0h0dHBSdWxlLmJvZHldW2dvb2dsZS5hcGkuSHR0cFJ1bGUuYm9keV0gaXMgb21pdHRlZCwgdGhlcmUgaXMgbm8gSFRUUAogIHJlcXVlc3QgYm9keSwgYWxsCiAgICAgZmllbGRzIGFyZSBwYXNzZWQgdmlhIFVSTCBwYXRoIGFuZCBVUkwgcXVlcnkgcGFyYW1ldGVycy4KCiAjIyMgUGF0aCB0ZW1wbGF0ZSBzeW50YXgKCiAgICAgVGVtcGxhdGUgPSAiLyIgU2VnbWVudHMgWyBWZXJiIF0gOwogICAgIFNlZ21lbnRzID0gU2VnbWVudCB7ICIvIiBTZWdtZW50IH0gOwogICAgIFNlZ21lbnQgID0gIioiIHwgIioqIiB8IExJVEVSQUwgfCBWYXJpYWJsZSA7CiAgICAgVmFyaWFibGUgPSAieyIgRmllbGRQYXRoIFsgIj0iIFNlZ21lbnRzIF0gIn0iIDsKICAgICBGaWVsZFBhdGggPSBJREVOVCB7ICIuIiBJREVOVCB9IDsKICAgICBWZXJiICAgICA9ICI6IiBMSVRFUkFMIDsKCiBUaGUgc3ludGF4IGAqYCBtYXRjaGVzIGEgc2luZ2xlIFVSTCBwYXRoIHNlZ21lbnQuIFRoZSBzeW50YXggYCoqYCBtYXRjaGVzCiB6ZXJvIG9yIG1vcmUgVVJMIHBhdGggc2VnbWVudHMsIHdoaWNoIG11c3QgYmUgdGhlIGxhc3QgcGFydCBvZiB0aGUgVVJMIHBhdGgKIGV4Y2VwdCB0aGUgYFZlcmJgLgoKIFRoZSBzeW50YXggYFZhcmlhYmxlYCBtYXRjaGVzIHBhcnQgb2YgdGhlIFVSTCBwYXRoIGFzIHNwZWNpZmllZCBieSBpdHMKIHRlbXBsYXRlLiBBIHZhcmlhYmxlIHRlbXBsYXRlIG11c3Qgbm90IGNvbnRhaW4gb3RoZXIgdmFyaWFibGVzLiBJZiBhIHZhcmlhYmxlCiBtYXRjaGVzIGEgc2luZ2xlIHBhdGggc2VnbWVudCwgaXRzIHRlbXBsYXRlIG1heSBiZSBvbWl0dGVkLCBlLmcuIGB7dmFyfWAKIGlzIGVxdWl2YWxlbnQgdG8gYHt2YXI9Kn1gLgoKIFRoZSBzeW50YXggYExJVEVSQUxgIG1hdGNoZXMgbGl0ZXJhbCB0ZXh0IGluIHRoZSBVUkwgcGF0aC4gSWYgdGhlIGBMSVRFUkFMYAogY29udGFpbnMgYW55IHJlc2VydmVkIGNoYXJhY3Rlciwgc3VjaCBjaGFyYWN0ZXJzIHNob3VsZCBiZSBwZXJjZW50LWVuY29kZWQKIGJlZm9yZSB0aGUgbWF0Y2hpbmcuCgogSWYgYSB2YXJpYWJsZSBjb250YWlucyBleGFjdGx5IG9uZSBwYXRoIHNlZ21lbnQsIHN1Y2ggYXMgYCJ7dmFyfSJgIG9yCiBgInt2YXI9Kn0iYCwgd2hlbiBzdWNoIGEgdmFyaWFibGUgaXMgZXhwYW5kZWQgaW50byBhIFVSTCBwYXRoIG9uIHRoZSBjbGllbnQKIHNpZGUsIGFsbCBjaGFyYWN0ZXJzIGV4Y2VwdCBgWy1fLn4wLTlhLXpBLVpdYCBhcmUgcGVyY2VudC1lbmNvZGVkLiBUaGUKIHNlcnZlciBzaWRlIGRvZXMgdGhlIHJldmVyc2UgZGVjb2RpbmcuIFN1Y2ggdmFyaWFibGVzIHNob3cgdXAgaW4gdGhlCiBbRGlzY292ZXJ5CiBEb2N1bWVudF0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vZGlzY292ZXJ5L3YxL3JlZmVyZW5jZS9hcGlzKSBhcwogYHt2YXJ9YC4KCiBJZiBhIHZhcmlhYmxlIGNvbnRhaW5zIG11bHRpcGxlIHBhdGggc2VnbWVudHMsIHN1Y2ggYXMgYCJ7dmFyPWZvby8qfSJgCiBvciBgInt2YXI9Kip9ImAsIHdoZW4gc3VjaCBhIHZhcmlhYmxlIGlzIGV4cGFuZGVkIGludG8gYSBVUkwgcGF0aCBvbiB0aGUKIGNsaWVudCBzaWRlLCBhbGwgY2hhcmFjdGVycyBleGNlcHQgYFstXy5+LzAtOWEtekEtWl1gIGFyZSBwZXJjZW50LWVuY29kZWQuCiBUaGUgc2VydmVyIHNpZGUgZG9lcyB0aGUgcmV2ZXJzZSBkZWNvZGluZywgZXhjZXB0ICIlMkYiIGFuZCAiJTJmIiBhcmUgbGVmdAogdW5jaGFuZ2VkLiBTdWNoIHZhcmlhYmxlcyBzaG93IHVwIGluIHRoZQogW0Rpc2NvdmVyeQogRG9jdW1lbnRdKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2Rpc2NvdmVyeS92MS9yZWZlcmVuY2UvYXBpcykgYXMKIGB7K3Zhcn1gLgoKICMjIFVzaW5nIGdSUEMgQVBJIFNlcnZpY2UgQ29uZmlndXJhdGlvbgoKIGdSUEMgQVBJIFNlcnZpY2UgQ29uZmlndXJhdGlvbiAoc2VydmljZSBjb25maWcpIGlzIGEgY29uZmlndXJhdGlvbiBsYW5ndWFnZQogZm9yIGNvbmZpZ3VyaW5nIGEgZ1JQQyBzZXJ2aWNlIHRvIGJlY29tZSBhIHVzZXItZmFjaW5nIHByb2R1Y3QuIFRoZQogc2VydmljZSBjb25maWcgaXMgc2ltcGx5IHRoZSBZQU1MIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBgZ29vZ2xlLmFwaS5TZXJ2aWNlYAogcHJvdG8gbWVzc2FnZS4KCiBBcyBhbiBhbHRlcm5hdGl2ZSB0byBhbm5vdGF0aW5nIHlvdXIgcHJvdG8gZmlsZSwgeW91IGNhbiBjb25maWd1cmUgZ1JQQwogdHJhbnNjb2RpbmcgaW4geW91ciBzZXJ2aWNlIGNvbmZpZyBZQU1MIGZpbGVzLiBZb3UgZG8gdGhpcyBieSBzcGVjaWZ5aW5nIGEKIGBIdHRwUnVsZWAgdGhhdCBtYXBzIHRoZSBnUlBDIG1ldGhvZCB0byBhIFJFU1QgZW5kcG9pbnQsIGFjaGlldmluZyB0aGUgc2FtZQogZWZmZWN0IGFzIHRoZSBwcm90byBhbm5vdGF0aW9uLiBUaGlzIGNhbiBiZSBwYXJ0aWN1bGFybHkgdXNlZnVsIGlmIHlvdQogaGF2ZSBhIHByb3RvIHRoYXQgaXMgcmV1c2VkIGluIG11bHRpcGxlIHNlcnZpY2VzLiBOb3RlIHRoYXQgYW55IHRyYW5zY29kaW5nCiBzcGVjaWZpZWQgaW4gdGhlIHNlcnZpY2UgY29uZmlnIHdpbGwgb3ZlcnJpZGUgYW55IG1hdGNoaW5nIHRyYW5zY29kaW5nCiBjb25maWd1cmF0aW9uIGluIHRoZSBwcm90by4KCiBFeGFtcGxlOgoKICAgICBodHRwOgogICAgICAgcnVsZXM6CiAgICAgICAgICMgU2VsZWN0cyBhIGdSUEMgbWV0aG9kIGFuZCBhcHBsaWVzIEh0dHBSdWxlIHRvIGl0LgogICAgICAgICAtIHNlbGVjdG9yOiBleGFtcGxlLnYxLk1lc3NhZ2luZy5HZXRNZXNzYWdlCiAgICAgICAgICAgZ2V0OiAvdjEvbWVzc2FnZXMve21lc3NhZ2VfaWR9L3tzdWIuc3ViZmllbGR9CgogIyMgU3BlY2lhbCBub3RlcwoKIFdoZW4gZ1JQQyBUcmFuc2NvZGluZyBpcyB1c2VkIHRvIG1hcCBhIGdSUEMgdG8gSlNPTiBSRVNUIGVuZHBvaW50cywgdGhlCiBwcm90byB0byBKU09OIGNvbnZlcnNpb24gbXVzdCBmb2xsb3cgdGhlIFtwcm90bzMKIHNwZWNpZmljYXRpb25dKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9wcm90bzMjanNvbikuCgogV2hpbGUgdGhlIHNpbmdsZSBzZWdtZW50IHZhcmlhYmxlIGZvbGxvd3MgdGhlIHNlbWFudGljcyBvZgogW1JGQyA2NTcwXShodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjU3MCkgU2VjdGlvbiAzLjIuMiBTaW1wbGUgU3RyaW5nCiBFeHBhbnNpb24sIHRoZSBtdWx0aSBzZWdtZW50IHZhcmlhYmxlICoqZG9lcyBub3QqKiBmb2xsb3cgUkZDIDY1NzAgU2VjdGlvbgogMy4yLjMgUmVzZXJ2ZWQgRXhwYW5zaW9uLiBUaGUgcmVhc29uIGlzIHRoYXQgdGhlIFJlc2VydmVkIEV4cGFuc2lvbgogZG9lcyBub3QgZXhwYW5kIHNwZWNpYWwgY2hhcmFjdGVycyBsaWtlIGA/YCBhbmQgYCNgLCB3aGljaCB3b3VsZCBsZWFkCiB0byBpbnZhbGlkIFVSTHMuIEFzIHRoZSByZXN1bHQsIGdSUEMgVHJhbnNjb2RpbmcgdXNlcyBhIGN1c3RvbSBlbmNvZGluZwogZm9yIG11bHRpIHNlZ21lbnQgdmFyaWFibGVzLgoKIFRoZSBwYXRoIHZhcmlhYmxlcyAqKm11c3Qgbm90KiogcmVmZXIgdG8gYW55IHJlcGVhdGVkIG9yIG1hcHBlZCBmaWVsZCwKIGJlY2F1c2UgY2xpZW50IGxpYnJhcmllcyBhcmUgbm90IGNhcGFibGUgb2YgaGFuZGxpbmcgc3VjaCB2YXJpYWJsZSBleHBhbnNpb24uCgogVGhlIHBhdGggdmFyaWFibGVzICoqbXVzdCBub3QqKiBjYXB0dXJlIHRoZSBsZWFkaW5nICIvIiBjaGFyYWN0ZXIuIFRoZSByZWFzb24KIGlzIHRoYXQgdGhlIG1vc3QgY29tbW9uIHVzZSBjYXNlICJ7dmFyfSIgZG9lcyBub3QgY2FwdHVyZSB0aGUgbGVhZGluZyAiLyIKIGNoYXJhY3Rlci4gRm9yIGNvbnNpc3RlbmN5LCBhbGwgcGF0aCB2YXJpYWJsZXMgbXVzdCBzaGFyZSB0aGUgc2FtZSBiZWhhdmlvci4KCiBSZXBlYXRlZCBtZXNzYWdlIGZpZWxkcyBtdXN0IG5vdCBiZSBtYXBwZWQgdG8gVVJMIHF1ZXJ5IHBhcmFtZXRlcnMsIGJlY2F1c2UKIG5vIGNsaWVudCBsaWJyYXJ5IGNhbiBzdXBwb3J0IHN1Y2ggY29tcGxpY2F0ZWQgbWFwcGluZy4KCiBJZiBhbiBBUEkgbmVlZHMgdG8gdXNlIGEgSlNPTiBhcnJheSBmb3IgcmVxdWVzdCBvciByZXNwb25zZSBib2R5LCBpdCBjYW4gbWFwCiB0aGUgcmVxdWVzdCBvciByZXNwb25zZSBib2R5IHRvIGEgcmVwZWF0ZWQgZmllbGQuIEhvd2V2ZXIs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AgIBBBIG+gIC9wISCg0KBQQCAgEFEgT6AgIICg0KBQQCAgEBEgT6AgkNCg0KBQQCAgEDEgT6AhARYgZwcm90bzMKy/kCCiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIk0KEUZpbGVEZXNjcmlwdG9yU2V0EjgKBGZpbGUYASADKAsyJC5nb29nbGUucHJvdG9idWYuRmlsZURlc2NyaXB0b3JQcm90b1IEZmlsZSLkBAoTRmlsZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3BhY2thZ2UYAiABKAlSB3BhY2thZ2USHgoKZGVwZW5kZW5jeRgDIAMoCVIKZGVwZW5kZW5jeRIrChFwdWJsaWNfZGVwZW5kZW5jeRgKIAMoBVIQcHVibGljRGVwZW5kZW5jeRInCg93ZWFrX2RlcGVuZGVuY3kYCyADKAVSDndlYWtEZXBlbmRlbmN5EkMKDG1lc3NhZ2VfdHlwZRgEIAMoCzIgLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SC21lc3NhZ2VUeXBlEkEKCWVudW1fdHlwZRgFIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJBCgdzZXJ2aWNlGAYgAygLMicuZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VEZXNjcmlwdG9yUHJvdG9SB3NlcnZpY2USQwoJZXh0ZW5zaW9uGAcgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SNgoHb3B0aW9ucxgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9uc1IHb3B0aW9ucxJJChBzb3VyY2VfY29kZV9pbmZvGAkgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvUg5zb3VyY2VDb2RlSW5mbxIWCgZzeW50YXgYDCABKAlSBnN5bnRheCK5BgoPRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSOwoFZmllbGQYAiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SBWZpZWxkEkMKCWV4dGVuc2lvbhgGIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEkEKC25lc3RlZF90eXBlGAMgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1IKbmVzdGVkVHlwZRJBCgllbnVtX3R5cGUYBCADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSWAoPZXh0ZW5zaW9uX3JhbmdlGAUgAygLMi8uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5FeHRlbnNpb25SYW5nZVIOZXh0ZW5zaW9uUmFuZ2USRAoKb25lb2ZfZGVjbBgIIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5PbmVvZkRlc2NyaXB0b3JQcm90b1IJb25lb2ZEZWNsEjkKB29wdGlvbnMYByABKAsyHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnNSB29wdGlvbnMSVQoOcmVzZXJ2ZWRfcmFuZ2UYCSADKAsyLi5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLlJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgKIAMoCVIMcmVzZXJ2ZWROYW1lGnoKDkV4dGVuc2lvblJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZBJACgdvcHRpb25zGAMgASgLMiYuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9uc1IHb3B0aW9ucxo3Cg1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCJ8ChVFeHRlbnNpb25SYW5nZU9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKYBgoURmllbGREZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAyABKAVSBm51bWJlchJBCgVsYWJlbBgEIAEoDjIrLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5MYWJlbFIFbGFiZWwSPgoEdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlUgR0eXBlEhsKCXR5cGVfbmFtZRgGIAEoCVIIdHlwZU5hbWUSGgoIZXh0ZW5kZWUYAiABKAlSCGV4dGVuZGVlEiMKDWRlZmF1bHRfdmFsdWUYByABKAlSDGRlZmF1bHRWYWx1ZRIfCgtvbmVvZl9pbmRleBgJIAEoBVIKb25lb2ZJbmRleBIbCglqc29uX25hbWUYCiABKAlSCGpzb25OYW1lEjcKB29wdGlvbnMYCCABKAsyHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zUgdvcHRpb25zIrYCCgRUeXBlEg8KC1RZUEVfRE9VQkxFEAESDgoKVFlQRV9GTE9BVBACEg4KClRZUEVfSU5UNjQQAxIPCgtUWVBFX1VJTlQ2NBAEEg4KClRZUEVfSU5UMzIQBRIQCgxUWVBFX0ZJWEVENjQQBhIQCgxUWVBFX0ZJWEVEMzIQBxINCglUWVBFX0JPT0wQCBIPCgtUWVBFX1NUUklORxAJEg4KClRZUEVfR1JPVVAQChIQCgxUWVBFX01FU1NBR0UQCxIOCgpUWVBFX0JZVEVTEAwSDwoLVFlQRV9VSU5UMzIQDRINCglUWVBFX0VOVU0QDhIRCg1UWVBFX1NGSVhFRDMyEA8SEQoNVFlQRV9TRklYRUQ2NBAQEg8KC1RZUEVfU0lOVDMyEBESDwoLVFlQRV9TSU5UNjQQEiJDCgVMYWJlbBISCg5MQUJFTF9PUFRJT05BTBABEhIKDkxBQkVMX1JFUVVJUkVEEAISEgoOTEFCRUxfUkVQRUFURUQQAyJjChRPbmVvZkRlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjcKB29wdGlvbnMYAiABKAsyHS5nb29nbGUucHJvdG9idWYuT25lb2ZPcHRpb25zUgdvcHRpb25zIuMCChNFbnVtRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPwoFdmFsdWUYAiADKAsyKS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlRGVzY3JpcHRvclByb3RvUgV2YWx1ZRI2CgdvcHRpb25zGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zUgdvcHRpb25zEl0KDnJlc2VydmVkX3JhbmdlGAQgAygLMjYuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG8uRW51bVJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgFIAMoCVIMcmVzZXJ2ZWROYW1lGjsKEUVudW1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKDAQoYRW51bVZhbHVlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAIgASgFUgZudW1iZXISOwoHb3B0aW9ucxgDIAEoCzIhLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVPcHRpb25zUgdvcHRpb25zIqcBChZTZXJ2aWNlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPgoGbWV0aG9kGAIgAygLMiYuZ29vZ2xlLnByb3RvYnVmLk1ldGhvZERlc2NyaXB0b3JQcm90b1IGbWV0aG9kEjkKB29wdGlvbnMYAyABKAsyHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnNSB29wdGlvbnMiiQIKFU1ldGhvZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEh0KCmlucHV0X3R5cGUYAiABKAlSCWlucHV0VHlwZRIfCgtvdXRwdXRfdHlwZRgDIAEoCVIKb3V0cHV0VHlwZRI4CgdvcHRpb25zGAQgASgLMh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnNSB29wdGlvbnMSMAoQY2xpZW50X3N0cmVhbWluZxgFIAEoCDoFZmFsc2VSD2NsaWVudFN0cmVhbWluZxIwChBzZXJ2ZXJfc3RyZWFtaW5nGAYgASgIOgVmYWxzZVIPc2VydmVyU3RyZWFtaW5nIpIJCgtGaWxlT3B0aW9ucxIhCgxqYXZhX3BhY2thZ2UYASABKAlSC2phdmFQYWNrYWdlEjAKFGphdmFfb3V0ZXJfY2xhc3NuYW1lGAggASgJUhJqYXZhT3V0ZXJDbGFzc25hbWUSNQoTamF2YV9tdWx0aXBsZV9maWxlcxgKIAEoCDoFZmFsc2VSEWphdmFNdWx0aXBsZUZpbGVzEkQKHWphdmFfZ2VuZXJhdGVfZXF1YWxzX2FuZF9oYXNoGBQgASgIQgIYAVIZamF2YUdlbmVyYXRlRXF1YWxzQW5kSGFzaBI6ChZqYXZhX3N0cmluZ19jaGVja191dGY4GBsgASgIOgVmYWxzZVITamF2YVN0cmluZ0NoZWNrVXRmOBJTCgxvcHRpbWl6ZV9mb3IYCSABKA4yKS5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMuT3B0aW1pemVNb2RlOgVTUEVFRFILb3B0aW1pemVGb3ISHQoKZ29fcGFja2FnZRgLIAEoCVIJZ29QYWNrYWdlEjUKE2NjX2dlbmVyaWNfc2VydmljZXMYECABKAg6BWZhbHNlUhFjY0dlbmVyaWNTZXJ2aWNlcxI5ChVqYXZhX2dlbmVyaWNfc2VydmljZXMYESABKAg6BWZhbHNlUhNqYXZhR2VuZXJpY1NlcnZpY2VzEjUKE3B5X2dlbmVyaWNfc2VydmljZXMYEiABKAg6BWZhbHNlUhFweUdlbmVyaWNTZXJ2aWNlcxI3ChRwaHBfZ2VuZXJpY19zZXJ2aWNlcxgqIAEoCDoFZmFsc2VSEnBocEdlbmVyaWNTZXJ2aWNlcxIlCgpkZXByZWNhdGVkGBcgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIvChBjY19lbmFibGVfYXJlbmFzGB8gASgIOgVmYWxzZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIJhAnItECCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAgQCUoECAkQCiLiAwoMRmllbGRPcHRpb25zEkEKBWN0eXBlGAEgASgOMiMuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5DVHlwZToGU1RSSU5HUgVjdHlwZRIWCgZwYWNrZWQYAiABKAhSBnBhY2tlZBJHCgZqc3R5cGUYBiABKA4yJC5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkpTVHlwZToJSlNfTk9STUFMUgZqc3R5cGUSGQoEbGF6eRgFIAEoCDoFZmFsc2VSBGxhenkSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSGQoEd2VhaxgKIAEoCDoFZmFsc2VSBHdlYWsSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAioJCOgHEICAgIACSgQIBBAFInMKDE9uZW9mT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIsABCgtFbnVtT3B0aW9ucxIfCgthbGxvd19hbGlhcxgCIAEoCFIKYWxsb3dBbGlhcxIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBRAGIp4BChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIinAEKDlNlcnZpY2VPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi4AIKDU1ldGhvZE9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQScQoRaWRlbXBvdGVuY3lfbGV2ZWwYIiABKA4yLy5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucy5JZGVtcG90ZW5jeUxldmVsOhNJREVNUE9URU5DWV9VTktOT1dOUhBpZGVtcG90ZW5jeUxldmVsElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIlAKEElkZW1wb3RlbmN5TGV2ZWwSFwoTSURFTVBPVEVOQ1lfVU5LTk9XThAAEhMKD05PX1NJREVfRUZGRUNUUxABEg4KCklERU1QT1RFTlQQAioJCOgHEICAgIACIpoDChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdGl2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIAEoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2lvbhgCIAIoCFILaXNFeHRlbnNpb24ipwIKDlNvdXJjZUNvZGVJbmZvEkQKCGxvY2F0aW9uGAEgAygLMiguZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvLkxvY2F0aW9uUghsb2NhdGlvbhrOAQoITG9jYXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSFgoEc3BhbhgCIAMoBUICEAFSBHNwYW4SKQoQbGVhZGluZ19jb21tZW50cxgDIAEoCVIPbGVhZGluZ0NvbW1lbnRzEisKEXRyYWlsaW5nX2NvbW1lbnRzGAQgASgJUhB0cmFpbGluZ0NvbW1lbnRzEjoKGWxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMYBiADKAlSF2xlYWRpbmdEZXRhY2hlZENvbW1lbnRzItEBChFHZW5lcmF0ZWRDb2RlSW5mbxJNCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb25SCmFubm90YXRpb24abQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmRCjwEKE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQcm90b3NIAVo+Z2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHJvdG9jLWdlbi1nby9kZXNjcmlwdG9yO2Rlc2NyaXB0b3L4AQGiAgNHUEKqAhpHb29nbGUuUHJvdG9idWYuUmVmbGVjdGlvbkqsvgIKBxIFJwDyBgEKqg8KAQwSAycAEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KMtsCIEF1dGhvcjoga2VudG9uQGdvb2dsZS5jb20gKEtlbnRvbiBWYXJkYSkKICBCYXNlZCBvbiBvcmlnaW5hbCBQcm90b2NvbCBCdWZmZXJzIGRlc2lnbiBieQogIFNhbmpheSBHaGVtYXdhdCwgSmVmZiBEZWFuLCBhbmQgb3RoZXJzLgoKIFRoZSBtZXNzYWdlcyBpbiB0aGlzIGZpbGUgZGVzY3JpYmUgdGhlIGRlZmluaXRpb25zIGZvdW5kIGluIC5wcm90byBmaWxlcy4KIEEgdmFsaWQgLnByb3RvIGZpbGUgY2FuIGJlIHRyYW5zbGF0ZWQgZGlyZWN0bHkgdG8gYSBGaWxlRGVzY3JpcHRvclByb3RvCiB3aXRob3V0IGFueSBvdGhlciBpbmZvcm1hdGlvbiAoZS5nLiB3aXRob3V0IHJlYWRpbmcgaXRzIGltcG9ydHMpLgoKCAoBAhIDKQAYCggKAQgSAyoAVQoJCgIICxIDKgBVCggKAQgSAysALAoJCgIIARIDKwAsCggKAQgSAywAMQoJCgIICBIDLAAxCggKAQgSAy0ANwoJCgIIJRIDLQA3CggKAQgSAy4AIQoJCgIIJBIDLgAhCggKAQgSAy8AHwoJCgIIHxIDLwAfCggKAQgSAzMAHAp/CgIICRIDMwAcGnQgZGVzY3JpcHRvci5wcm90byBtdXN0IGJlIG9wdGltaXplZCBmb3Igc3BlZWQgYmVjYXVzZSByZWZsZWN0aW9uLWJhc2VkCiBhbGdvcml0aG1zIGRvbid0IHdvcmsgZHVyaW5nIGJvb3RzdHJhcHBpbmcu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BJYCLjMKRQoEBAkCBRIEmAICNRo3IElkZW50aWZpZXMgaWYgc2VydmVyIHN0cmVhbXMgbXVsdGlwbGUgc2VydmVyIG1lc3NhZ2VzCgoNCgUECQIFBBIEmAICCgoNCgUECQIFBRIEmAILDwoNCgUECQIFARIEmAIQIAoNCgUECQIFAxIEmAIjJAoNCgUECQIFCBIEmAIlNAoNCgUECQIFBxIEmAIuMwqvDgoCBAoSBr0CALcDATJOID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIE9wdGlvbnMKMtANIEVhY2ggb2YgdGhlIGRlZmluaXRpb25zIGFib3ZlIG1heSBoYXZlICJvcHRpb25zIiBhdHRhY2hlZC4gIFRoZXNlIGFyZQoganVzdCBhbm5vdGF0aW9ucyB3aGljaCBtYXkgY2F1c2UgY29kZSB0byBiZSBnZW5lcmF0ZWQgc2xpZ2h0bHkgZGlmZmVyZW50bHkKIG9yIG1heSBjb250YWluIGhpbnRzIGZvciBjb2RlIHRoYXQgbWFuaXB1bGF0ZXMgcHJvdG9jb2wgbWVzc2FnZXMuCgogQ2xpZW50cyBtYXkgZGVmaW5lIGN1c3RvbSBvcHRpb25zIGFzIGV4dGVuc2lvbnMgb2YgdGhlICpPcHRpb25zIG1lc3NhZ2VzLgogVGhlc2UgZXh0ZW5zaW9ucyBtYXkgbm90IHlldCBiZSBrbm93biBhdCBwYXJzaW5nIHRpbWUsIHNvIHRoZSBwYXJzZXIgY2Fubm90CiBzdG9yZSB0aGUgdmFsdWVzIGluIHRoZW0uICBJbnN0ZWFkIGl0IHN0b3JlcyB0aGVtIGluIGEgZmllbGQgaW4gdGhlICpPcHRpb25zCiBtZXNzYWdlIGNhbGxlZCB1bmludGVycHJldGVkX29wdGlvbi4gVGhpcyBmaWVsZCBtdXN0IGhhdmUgdGhlIHNhbWUgbmFtZQogYWNyb3NzIGFsbCAqT3B0aW9ucyBtZXNzYWdlcy4gV2UgdGhlbiB1c2UgdGhpcyBmaWVsZCB0byBwb3B1bGF0ZSB0aGUKIGV4dGVuc2lvbnMgd2hlbiB3ZSBidWlsZCBhIGRlc2NyaXB0b3IsIGF0IHdoaWNoIHBvaW50IGFsbCBwcm90b3MgaGF2ZSBiZWVuCiBwYXJzZWQgYW5kIHNvIGFsbCBleHRlbnNpb25zIGFyZSBrbm93bi4KCiBFeHRlbnNpb24gbnVtYmVycyBmb3IgY3VzdG9tIG9wdGlvbnMgbWF5IGJlIGNob3NlbiBhcyBmb2xsb3dzOgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBzaW5nbGUgYXBwbGljYXRpb24gb3IKICAgb3JnYW5pemF0aW9uLCBvciBmb3IgZXhwZXJpbWVudGFsIG9wdGlvbnMsIHVzZSBmaWVsZCBudW1iZXJzIDUwMDAwCiAgIHRocm91Z2ggOTk5OTkuICBJdCBpcyB1cCB0byB5b3UgdG8gZW5zdXJlIHRoYXQgeW91IGRvIG5vdCB1c2UgdGhlCiAgIHNhbWUgbnVtYmVyIGZvciBtdWx0aXBsZSBvcHRpb25zLgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIGJlIHB1Ymxpc2hlZCBhbmQgdXNlZCBwdWJsaWNseSBieSBtdWx0aXBsZQogICBpbmRlcGVuZGVudCBlbnRpdGllcywgZS1tYWlsIHByb3RvYnVmLWdsb2JhbC1leHRlbnNpb24tcmVnaXN0cnlAZ29vZ2xlLmNvbQogICB0byByZXNlcnZlIGV4dGVuc2lvbiBudW1iZXJzLiBTaW1wbHkgcHJvdmlkZSB5b3VyIHByb2plY3QgbmFtZSAoZS5nLgogICBPYmplY3RpdmUtQyBwbHVnaW4pIGFuZCB5b3VyIHByb2plY3Qgd2Vic2l0ZSAoaWYgYXZhaWxhYmxlKSAtLSB0aGVyZSdzIG5vCiAgIG5lZWQgdG8gZXhwbGFpbiBob3cgeW91IGludGVuZCB0byB1c2UgdGhlbS4gVXN1YWxseSB5b3Ugb25seSBuZWVkIG9uZQogICBleHRlbnNpb24gbnVtYmVyLiBZb3UgY2FuIGRlY2xhcmUgbXVsdGlwbGUgb3B0aW9ucyB3aXRoIG9ubHkgb25lIGV4dGVuc2lvbgogICBudW1iZXIgYnkgcHV0dGluZyB0aGVtIGluIGEgc3ViLW1lc3NhZ2UuIFNlZSB0aGUgQ3VzdG9tIE9wdGlvbnMgc2VjdGlvbiBvZgogICB0aGUgZG9jcyBmb3IgZXhhbXBsZXM6CiAgIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9wcm90byNvcHRpb25zCiAgIElmIHRoaXMgdHVybnMgb3V0IHRvIGJlIHBvcHVsYXIsIGEgd2ViIHNlcnZpY2Ugd2lsbCBiZSBzZXQgdXAKICAgdG8gYXV0b21hdGljYWxseSBhc3NpZ24gb3B0aW9uIG51bWJlcnMuCgoLCgMECgESBL0CCBMK9AEKBAQKAgASBMMCAiMa5QEgU2V0cyB0aGUgSmF2YSBwYWNrYWdlIHdoZXJlIGNsYXNzZXMgZ2VuZXJhdGVkIGZyb20gdGhpcyAucHJvdG8gd2lsbCBiZQogcGxhY2VkLiAgQnkgZGVmYXVsdCwgdGhlIHByb3RvIHBhY2thZ2UgaXMgdXNlZCwgYnV0IHRoaXMgaXMgb2Z0ZW4KIGluYXBwcm9wcmlhdGUgYmVjYXVzZSBwcm90byBwYWNrYWdlcyBkbyBub3Qgbm9ybWFsbHkgc3RhcnQgd2l0aCBiYWNrd2FyZHMKIGRvbWFpbiBuYW1lcy4KCg0KBQQKAgAEEgTDAgIKCg0KBQQKAgAFEgTDAgsRCg0KBQQKAgABEgTDAhIeCg0KBQQKAgADEgTDAiEiCr8CCgQECgIBEgTLAgIrGrACIElmIHNldCwgYWxsIHRoZSBjbGFzc2VzIGZyb20gdGhlIC5wcm90byBmaWxlIGFyZSB3cmFwcGVkIGluIGEgc2luZ2xlCiBvdXRlciBjbGFzcyB3aXRoIHRoZSBnaXZlbiBuYW1lLiAgVGhpcyBhcHBsaWVzIHRvIGJvdGggUHJvdG8xCiAoZXF1aXZhbGVudCB0byB0aGUgb2xkICItLW9uZV9qYXZhX2ZpbGUiIG9wdGlvbikgYW5kIFByb3RvMiAod2hlcmUKIGEgLnByb3RvIGFsd2F5cyB0cmFuc2xhdGVzIHRvIGEgc2luZ2xlIGNsYXNzLCBidXQgeW91IG1heSB3YW50IHRvCiBleHBsaWNpdGx5IGNob29zZSB0aGUgY2xhc3MgbmFtZSkuCgoNCgUECgIBBBIEywICCgoNCgUECgIBBRIEywILEQoNCgUECgIBARIEywISJgoNCgUE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b2YgdGhlIHBhY2thZ2UgaW1wb3J0IHBhdGgsIGlmIHByb3ZpZGVkLgogICAtIE90aGVyd2lzZSwgdGhlIHBhY2thZ2Ugc3RhdGVtZW50IGluIHRoZSAucHJvdG8gZmlsZSwgaWYgcHJlc2VudC4KICAgLSBPdGhlcndpc2UsIHRoZSBiYXNlbmFtZSBvZiB0aGUgLnByb3RvIGZpbGUsIHdpdGhvdXQgZXh0ZW5zaW9uLgoKDQoFBAoCBgQSBO8CAgoKDQoFBAoCBgUSBO8CCxEKDQoFBAoCBgESBO8CEhwKDQoFBAoCBgMSBO8CHyEK1AQKBAQKAgcSBP0CAjkaxQQgU2hvdWxkIGdlbmVyaWMgc2VydmljZXMgYmUgZ2VuZXJhdGVkIGluIGVhY2ggbGFuZ3VhZ2U/ICAiR2VuZXJpYyIgc2VydmljZXMKIGFyZSBub3Qgc3BlY2lmaWMgdG8gYW55IHBhcnRpY3VsYXIgUlBDIHN5c3RlbS4gIFRoZXkgYXJlIGdlbmVyYXRlZCBieSB0aGUKIG1haW4gY29kZSBnZW5lcmF0b3JzIGluIGVhY2ggbGFuZ3VhZ2UgKHdpdGhvdXQgYWRkaXRpb25hbCBwbHVnaW5zKS4KIEdlbmVyaWMgc2VydmljZXMgd2VyZSB0aGUgb25seSBraW5kIG9mIHNlcnZpY2UgZ2VuZXJhdGlvbiBzdXBwb3J0ZWQgYnkKIGVhcmx5IHZlcnNpb25zIG9mIGdvb2dsZS5wcm90b2J1Zi4KCiBHZW5lcmljIHNlcnZpY2VzIGFyZSBub3cgY29uc2lkZXJlZCBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHVzaW5nIHBsdWdpbnMKIHRoYXQgZ2VuZXJhdGUgY29kZSBzcGVjaWZpYyB0byB5b3VyIHBhcnRpY3VsYXIgUlBDIHN5c3RlbS4gIFRoZXJlZm9yZSwKIHRoZXNlIGRlZmF1bHQgdG8gZmFsc2UuICBPbGQgY29kZSB3aGljaCBkZXBlbmRzIG9uIGdlbmVyaWMgc2VydmljZXMgc2hvdWxkCiBleHBsaWNpdGx5IHNldCB0aGVtIHRvIHRydWUuCgoNCgUECgIHBBIE/QICCgoNCgUECgIHBRIE/QILDwoNCgUECgIHARIE/QIQIwoNCgUECgIHAxIE/QImKAoN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AhQBEgSwAx8zCg0KBQQKAhQDEgSwAzY5CocBCgMECgUSBLQDAhkaeiBDbGllbnRzIGNhbiBkZWZpbmUgY3VzdG9tIG9wdGlvbnMgaW4gZXh0ZW5zaW9ucyBvZiB0aGlzIG1lc3NhZ2UuCiBTZWUgdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSAiT3B0aW9ucyIgc2VjdGlvbiBhYm92ZS4KCgwKBAQKBQASBLQDDRgKDQoFBAoFAAESBLQDDREKDQoFBAoFAAISBLQDFRgKCwoDBAoJEgS2AwIOCgwKBAQKCQASBLYDCw0KDQoFBAoJAAESBLYDCw0KDQoFBAoJAAISBLYDCw0KDAoCBAsSBrkDAPgDAQoLCgMECwESBLkDCBYK2AUKBAQLAgASBMwDAjwayQUgU2V0IHRydWUgdG8gdXNlIHRoZSBvbGQgcHJvdG8xIE1lc3NhZ2VTZXQgd2lyZSBmb3JtYXQgZm9yIGV4dGVuc2lvbnMuCiBUaGlzIGlzIHByb3ZpZGVkIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBNZXNzYWdlU2V0IHdpcmUKIGZvcm1hdC4gIFlvdSBzaG91bGQgbm90IHVzZSB0aGlzIGZvciBhbnkgb3RoZXIgcmVhc29uOiAgSXQncyBsZXNzCiBlZmZpY2llbnQsIGhhcyBmZXdlciBmZWF0dXJlcywgYW5kIGlzIG1vcmUgY29tcGxpY2F0ZWQuCgogVGhlIG1lc3NhZ2UgbXVzdCBiZSBkZWZpbmVkIGV4YWN0bHkgYXMgZm9sbG93czoKICAgbWVzc2FnZSBGb28gewogICAgIG9wdGlvbiBtZXNzYWdlX3NldF93aXJlX2Zvcm1hdCA9IHRydWU7CiAgICAgZXh0ZW5zaW9ucyA0IHRvIG1heDsKICAgfQogTm90ZSB0aGF0IHRoZSBtZXNzYWdlIGNhbm5vdCBoYXZlIGFueSBkZWZpbmVkIGZpZWxkczsgTWVzc2FnZVNldHMgb25seQogaGF2ZSBleHRlbnNpb25zLgoKIEFsbCBleHRlbnNpb25zIG9mIHlvdXIgdHlwZSBtdXN0IGJlIHNpbmd1bGFyIG1lc3NhZ2VzOyBlLmcuIHRoZXkgY2Fubm90CiBiZSBpbnQzMnMsIGVudW1zLCBvciByZXBlYXRlZCBtZXNzYWdlcy4KCiBCZWNhdXNlIHRoaXMgaXMgYW4gb3B0aW9uLCB0aGUgYWJvdmUgdHdvIHJlc3RyaWN0aW9ucyBhcmUgbm90IGVuZm9yY2VkIGJ5CiB0aGUgcHJvdG9jb2wgY29tcGlsZXIuCgoNCgUECwIABBIEzAMCCgoNCgUECwIABRIEzAMLDwoNCgUECwIAARIEzAMQJwoNCgUECwIAAxIEzAMqKwoNCgUECwIACBIEzAMsOwoNCgUECwIABxIEzAM1OgrrAQoEBAsCARIE0QMCRBrcASBEaXNhYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgc3RhbmRhcmQgImRlc2NyaXB0b3IoKSIgYWNjZXNzb3IsIHdoaWNoIGNhbgogY29uZmxpY3Qgd2l0aCBhIGZpZWxkIG9mIHRoZSBzYW1lIG5hbWUuICBUaGlzIGlzIG1lYW50IHRvIG1ha2UgbWlncmF0aW9uCiBmcm9tIHByb3RvMSBlYXNpZXI7IG5ldyBjb2RlIHNob3VsZCBhdm9pZCBmaWVsZHMgbmFtZWQgImRlc2NyaXB0b3IiLgoKDQoFBAsCAQQSBNEDAgoKDQoFBAsCAQUSBNEDCw8KDQoFBAsCAQESBNEDEC8KDQoFBAsCAQMSBNEDMjMKDQoFBAsCAQgSBNEDNEMKDQoFBAsCAQcSBNEDPUIK7gEKBAQLAgISBNcDAi8a3wEgSXMgdGhpcyBtZXNzYWdlIGRlcHJlY2F0ZWQ/CiBEZXBlbmRpbmcgb24gdGhlIHRhcmdldCBwbGF0Zm9ybSwgdGhpcyBjYW4gZW1pdCBEZXByZWNhdGVkIGFubm90YXRpb25zCiBmb3IgdGhlIG1lc3NhZ2UsIG9yIGl0IHdpbGwgYmUgY29tcGxldGVseSBpZ25vcmVkOyBpbiB0aGUgdmVyeSBsZWFzdCwKIHRoaXMgaXMgYSBmb3JtYWxpemF0aW9uIGZvciBkZXByZWNhdGluZyBtZXNzYWdlcy4KCg0KBQQLAgIEEgTXAwIKCg0KBQQLAgIFEgTXAwsPCg0KBQQLAgIBEgTXAxAaCg0KBQQLAgIDEgTXAx0eCg0KBQQLAgIIEgTXAx8uCg0KBQQLAgIHEgTXAygtCp4GCgQECwIDEgTuAwIeGo8GIFdoZXRoZXIgdGhlIG1lc3NhZ2UgaXMgYW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFwIGVudHJ5IHR5cGUgZm9yIHRoZQogbWFwcyBmaWVsZC4KCiBGb3IgbWFwcyBmaWVsZHM6CiAgICAgbWFwPEtleVR5cGUsIFZhbHVlVHlwZT4gbWFwX2ZpZWxkID0gMTsKIFRoZSBwYXJzZWQgZGVzY3JpcHRvciBsb29rcyBsaWtlOgogICAgIG1lc3NhZ2UgTWFwRmllbGRFbnRyeSB7CiAgICAgICAgIG9wdGlvbiBtYXBfZW50cnkgPSB0cnVlOwogICAgICAgICBvcHRpb25hbCBLZXlUeXBlIGtleSA9IDE7CiAgICAgICAgIG9wdGlvbmFsIFZhbHVlVHlwZSB2YWx1ZSA9IDI7CiAgICAgfQogICAgIHJlcGVhdGVkIE1hcEZpZWxkRW50cnkgbWFwX2ZpZWxkID0gMTsKCiBJbXBsZW1lbnRhdGlvbnMgbWF5IGNob29zZSBub3QgdG8gZ2VuZXJhdGUgdGhlIG1hcF9lbnRyeT10cnVlIG1lc3NhZ2UsIGJ1dAogdXNlIGEgbmF0aXZlIG1hcCBpbiB0aGUgdGFyZ2V0IGxhbmd1YWdlIHRvIGhvbGQgdGhlIGtleXMgYW5kIHZhbHVlcy4KIFRoZSByZWZsZWN0aW9uIEFQSXMgaW4gc3VjaCBpbXBsZW1lbnRpb25zIHN0aWxsIG5lZWQgdG8gd29yayBhcwogaWYgdGhlIGZpZWxkIGlzIGEgcmVwZWF0ZWQgbWVzc2FnZSBmaWVsZC4KCiBOT1RFOiBEbyBub3Qgc2V0IHRoZSBvcHRpb24gaW4gLnByb3RvIGZpbGVzLiBBbHdheXMgdXNlIHRoZSBtYXBzIHN5bnRheAogaW5zdGVhZC4gVGhlIG9wdGlvbiBzaG91bGQgb25seSBiZSBpbXBsaWNpdGx5IHNldCBieSB0aGUgcHJvdG8gY29tcGlsZXIKIHBhcnNlci4KCg0KBQQLAgMEEgTuAwIKCg0KBQQLAgMFEgTuAwsPCg0KBQQLAgMBEgTuAxAZCg0KBQQLAgMDEgTuAxwdCiQKAwQLCRIE8AMCDSIXIGphdmFsaXRlX3NlcmlhbGl6YWJsZQoKDAoEBAsJABIE8AMLDAoNCgUECwkAARIE8AMLDAoNCgUECwkAAhIE8AMLDAofCgMECwkSBPEDAg0iEiBqYXZhbmFub19hc19saXRlCgoMCgQECwkBEgTxAwsMCg0KBQQLCQEBEgTxAwsMCg0KBQQLCQECEgTxAwsMCk8KBAQLAgQSBPQDAjoaQSBUaGUgcGFyc2VyIHN0b3JlcyBvcHRpb25zIGl0IGRvZXNuJ3QgcmVjb2duaXplIGhlcmUuIFNlZSBhYm92ZS4KCg0KBQQLAgQEEgT0AwIKCg0KBQQLAgQGEgT0AwseCg0KBQQLAgQBEgT0Ax8zCg0KBQQLAgQDEgT0AzY5CloKAwQLBRIE9wMCGRpNIENsaWVudHMgY2FuIGRlZmluZSBjdXN0b20gb3B0aW9ucyBpbiBleHRlbnNpb25zIG9mIHRoaXMgbWVzc2FnZS4gU2VlIGFib3ZlLgoKDAoEBAsFABIE9wMNGAoNCgUECwUAARIE9wMNEQoNCgUECwUAAhIE9wMVGAoMCgIEDBIG+gMA1QQBCgsKAwQMARIE+gMIFAqjAgoEBAwCABIE/wMCLhqUAiBUaGUgY3R5cGUgb3B0aW9uIGluc3RydWN0cyB0aGUgQysrIGNvZGUgZ2VuZXJhdG9yIHRvIHVzZSBhIGRpZmZlcmVudAogcmVwcmVzZW50YXRpb24gb2YgdGhlIGZpZWxkIHRoYW4gaXQgbm9ybWFsbHkgd291bGQuICBTZWUgdGhlIHNwZWNpZmljCiBvcHRpb25zIGJlbG93LiAgVGhpcyBvcHRpb24gaXMgbm90IHlldCBpbXBsZW1lbnRlZCBpbiB0aGUgb3BlbiBzb3VyY2UKIHJlbGVhc2UgLS0gc29ycnksIHdlJ2xsIHRyeSB0byBpbmNsdWRlIGl0IGluIGEgZnV0dXJlIHZlcnNpb24hCgoNCgUEDAIABBIE/wMCCgoNCgUEDAIABhIE/wMLEAoNCgUEDAIAARIE/wMRFgoNCgUEDAIAAxIE/wMZGgoNCgUEDAIACBIE/wMbLQoNCgUEDAIABxIE/wMmLAoOCgQEDAQAEgaABAKHBAMKDQoFBAwEAAESBIAEBwwKHwoGBAwEAAIAEgSCBAQPGg8gRGVmYXVsdCBtb2RlLgoKDwoHBAwEAAIAARIEggQECgoPCgcEDAQAAgACEgSCBA0OCg4KBgQMBAACARIEhAQEDQoPCgcEDAQAAgEBEgSEBAQICg8KBwQMBAACAQISBIQECwwKDgoGBAwEAAICEgSGBAQVCg8KBwQMBAACAgESBIYEBBAKDwoHBAwEAAICAhIEhgQTFAraAgoEBAwCARIEjQQCGxrLAiBUaGUgcGFja2VkIG9wdGlvbiBjYW4gYmUgZW5hYmxlZCBmb3IgcmVwZWF0ZWQgcHJpbWl0aXZlIGZpZWxkcyB0byBlbmFibGUKIGEgbW9yZSBlZmZpY2llbnQgcmVwcmVzZW50YXRpb24gb24gdGhlIHdpcmUuIFJhdGhlciB0aGFuIHJlcGVhdGVkbHkKIHdyaXRpbmcgdGhlIHRhZyBhbmQgdHlwZSBmb3IgZWFjaCBlbGVtZW50LCB0aGUgZW50aXJlIGFycmF5IGlzIGVuY29kZWQgYXMKIGEgc2luZ2xlIGxlbmd0aC1kZWxpbWl0ZWQgYmxvYi4gSW4gcHJvdG8zLCBvbmx5IGV4cGxpY2l0IHNldHRpbmcgaXQgdG8KIGZhbHNlIHdpbGwgYXZvaWQgdXNpbmcgcGFja2VkIGVuY29kaW5nLgoKDQoFBAwCAQQSBI0EAgoKDQoFBAwCAQUSBI0ECw8KDQoFBAwCAQESBI0EEBYKDQoFBAwCAQMSBI0EGRoKmgUKBAQMAgISBJoEAjMaiwUgVGhlIGpzdHlwZSBvcHRpb24gZGV0ZXJtaW5lcyB0aGUgSmF2YVNjcmlwdCB0eXBlIHVzZWQgZm9yIHZhbHVlcyBvZiB0aGUKIGZpZWxkLiAgVGhlIG9wdGlvbiBpcyBwZXJtaXR0ZWQgb25seSBmb3IgNjQgYml0IGludGVncmFsIGFuZCBmaXhlZCB0eXBlcwogKGludDY0LCB1aW50NjQsIHNpbnQ2NCwgZml4ZWQ2NCwgc2ZpeGVkNjQpLiAgQSBmaWVsZCB3aXRoIGpzdHlwZSBKU19TVFJJTkcKIGlzIHJlcHJlc2VudGVkIGFzIEphdmFTY3JpcHQgc3RyaW5nLCB3aGljaCBhdm9pZHMgbG9zcyBvZiBwcmVjaXNpb24gdGhhdAogY2FuIGhhcHBlbiB3aGVuIGEgbGFyZ2UgdmFsdWUgaXMgY29udmVydGVkIHRvIGEgZmxvYXRpbmcgcG9pbnQgSmF2YVNjcmlwdC4KIFNwZWNpZnlpbmcgSlNfTlVNQkVSIGZvciB0aGUganN0eXBlIGNhdXNlcyB0aGUgZ2VuZXJhdGVkIEphdmFTY3JpcHQgY29kZSB0bwogdXNlIHRoZSBKYXZhU2NyaXB0ICJudW1iZXIiIHR5cGUuICBUaGUgYmVoYXZpb3Igb2YgdGhlIGRlZmF1bHQgb3B0aW9uCiBKU19OT1JNQUwgaXMgaW1wbGVtZW50YXRpb24gZGVwZW5kZW50LgoKIFRoaXMgb3B0aW9uIGlzIGFuIGVudW0gdG8gcGVybWl0IGFkZGl0aW9uYWwgdHlwZXMgdG8gYmUgYWRkZWQsIGUuZy4KIGdvb2cubWF0aC5JbnRlZ2VyLgoKDQoFBAwCAgQSBJoEAgoKDQoFBAwCAgYSBJoECxEKDQoFBAwCAgESBJoEEhgKDQoFBAwCAgMSBJoEGxwKDQoFBAwCAggSBJoEHTIKDQoFBAwCAgcSBJoEKDEKDgoEBAwEARIGmwQCpAQDCg0KBQQMBAEBEgSbBAcNCicKBgQMBAECABIEnQQEEhoXIFVzZSB0aGUgZGVmYXVsdCB0eXBlLgoKDwoHBAwEAQIAARIEnQQEDQoPCgcEDAQBAgACEgSdBBARCikKBgQMBAECARIEoAQEEhoZIFVzZSBKYXZhU2NyaXB0IHN0cmluZ3MuCgoPCgcEDAQBAgEBEgSgBAQNCg8KBwQMBAECAQISBKAEEBEKKQoGBAwEAQICEgSjBAQSGhkgVXNlIEphdmFTY3JpcHQgbnVtYmVycy4KCg8KBwQMBAECAgESBKMEBA0KDwoHBAwEAQICAhIEowQQEQrvDAoEBAwCAxIEwgQCKRrgDCBTaG91bGQgdGhpcyBmaWVsZCBiZSBwYXJzZWQgbGF6aWx5PyAgTGF6eSBhcHBsaWVzIG9ubHkgdG8gbWVzc2FnZS10eXBlCiBmaWVsZHMuICBJdCBtZWFucyB0aGF0IHdoZW4gdGhlIG91dGVyIG1lc3NhZ2UgaXMgaW5pdGlhbGx5IHBhcnNlZCwgdGhlCiBpbm5lciBtZXNzYWdlJ3MgY29udGVudHMgd2lsbCBub3QgYmUgcGFyc2VkIGJ1dCBpbnN0ZWFkIHN0b3JlZCBpbiBlbmNvZGVkCiBmb3JtLiAgVGhlIGlubmVyIG1lc3NhZ2Ugd2lsbCBhY3R1YWxseSBiZSBwYXJzZWQgd2hlbiBpdCBpcyBmaXJzdCBhY2Nlc3NlZC4KCiBUaGlzIGlzIG9ubHkgYSBoaW50LiAgSW1wbGVtZW50YXRpb25zIGFyZSBmcmVlIHRvIGNob29zZSB3aGV0aGVyIHRvIHVzZQogZWFnZXIgb3IgbGF6eSBwYXJzaW5nIHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIG9mIHRoaXMgb3B0aW9uLiAgSG93ZXZlciwKIHNldHRpbmcgdGhpcyBvcHRpb24gdHJ1ZSBzdWdnZXN0cyB0aGF0IHRoZSBwcm90b2NvbCBhdXRob3IgYmVsaWV2ZXMgdGhhdAogdXNpbmcgbGF6eSBwYXJzaW5nIG9uIHRoaXMgZmllbGQgaXMgd29ydGggdGhlIGFkZGl0aW9uYWwgYm9va2tlZXBpbmcKIG92ZXJoZWFkIHR5cGljYWxseSBuZWVkZWQgdG8gaW1wbGVtZW50IGl0LgoKIFRoaXMgb3B0aW9uIGRvZXMgbm90IGFmZmVjdCB0aGUgcHVibGljIGludGVyZmFjZSBvZiBhbnkgZ2VuZXJhdGVkIGNvZGU7CiBhbGwgbWV0aG9kIHNpZ25hdHVyZXMgcmVtYWluIHRoZSBzYW1lLiAgRnVydGhlcm1vcmUsIHRocmVhZC1zYWZldHkgb2YgdGhlCiBpbnRlcmZhY2UgaXMgbm90IGFmZmVjdGVkIGJ5IHRoaXMgb3B0aW9uOyBjb25zdCBtZXRob2RzIHJlbWFpbiBzYWZlIHRvCiBjYWxsIGZyb20gbXVsdGlwbGUgdGhyZWFkcyBjb25jdXJyZW50bHksIHdoaWxlIG5vbi1jb25zdCBtZXRob2RzIGNvbnRpbnVlCiB0byByZXF1aXJlIGV4Y2x1c2l2ZSBhY2Nlc3MuCgoKIE5vdGUgdGhhdCBpbXBsZW1lbnRhdGlvbnMgbWF5IGNob29zZSBub3QgdG8gY2hlY2sgcmVxdWlyZWQgZmllbGRzIHdpdGhpbgogYSBsYXp5IHN1Yi1tZXNzYWdlLiAgVGhhdCBpcywgY2FsbGluZyBJc0luaXRpYWxpemVkKCkgb24gdGhlIG91dGVyIG1lc3NhZ2UKIG1heSByZXR1cm4gdHJ1ZSBldmVuIGlmIHRoZSBpbm5lciBtZXNzYWdlIGhhcyBtaXNzaW5nIHJlcXVpcmVkIGZpZWxkcy4KIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBpbm5lciBtZXNzYWdlIHdvdWxkIGhhdmUgdG8gYmUKIHBhcnNlZCBpbiBvcmRlciB0byBwZXJmb3JtIHRoZSBjaGVjaywgZGVmZWF0aW5nIHRoZSBwdXJwb3NlIG9mIGxhenkKIHBhcnNpbmcuICBBbiBpbXBsZW1lbnRhdGlvbiB3aGljaCBjaG9vc2VzIG5vdCB0byBjaGVjayByZXF1aXJlZCBmaWVsZHMKIG11c3QgYmUgY29uc2lzdGVudCBhYm91dCBpdC4gIFRoYXQgaXMsIGZvciBhbnkgcGFydGljdWxhciBzdWItbWVzc2FnZSwgdGhlCiBpbXBsZW1lbnRhdGlvbiBtdXN0IGVpdGhlciAqYWx3YXlzKiBjaGVjayBpdHMgcmVxdWlyZWQgZmllbGRzLCBvciAqbmV2ZXIqCiBjaGVjayBpdHMgcmVxdWlyZWQgZmllbGRzLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Igbm90IHRoZSBtZXNzYWdlIGhhcwogYmVlbiBwYXJzZWQuCgoNCgUEDAIDBBIEwgQCCgoNCgUEDAIDBRIEwgQLDwoNCgUEDAIDARIEwgQQFAoNCgUEDAIDAxIEwgQXGAoNCgUEDAIDCBIEwgQZKAoNCgUEDAIDBxIEwgQiJwroAQoEBAwCBBIEyAQCLxrZASBJcyB0aGlzIGZpZWxkIGRlcHJlY2F0ZWQ/CiBEZXBlbmRpbmcgb24gdGhlIHRhcmdldCBwbGF0Zm9ybSwgdGhpcyBjYW4gZW1pdCBEZXByZWNhdGVkIGFubm90YXRpb25zCiBmb3IgYWNjZXNzb3JzLCBvciBpdCB3aWxsIGJlIGNvbXBsZXRlbHkgaWdub3JlZDsgaW4gdGhlIHZlcnkgbGVhc3QsIHRoaXMKIGlzIGEgZm9ybWFsaXphdGlvbiBmb3IgZGVwcmVjYXRpbmcgZmllbGRzLgoKDQoFBAwCBAQSBMgEAgoKDQoFBAwCBAUSBMgECw8KDQoFBAwCBAESBMgEEBoKDQoFBAwCBAMSBMgEHR4KDQoFBAwCBAgSBMgEHy4KDQoFBAwCBAcSBMgEKC0KPwoEBAwCBRIEywQCKhoxIEZvciBHb29nbGUtaW50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dG9tIG9wdGlvbnMgaW4gZXh0ZW5zaW9ucyBvZiB0aGlzIG1lc3NhZ2UuIFNlZSBhYm92ZS4KCgwKBAQRBQASBLIFDRgKDQoFBBEFAAESBLIFDREKDQoFBBEFAAISBLIFFRgKiwMKAgQSEga8BQDQBQEa/AIgQSBtZXNzYWdlIHJlcHJlc2VudGluZyBhIG9wdGlvbiB0aGUgcGFyc2VyIGRvZXMgbm90IHJlY29nbml6ZS4gVGhpcyBvbmx5CiBhcHBlYXJzIGluIG9wdGlvbnMgcHJvdG9zIGNyZWF0ZWQgYnkgdGhlIGNvbXBpbGVyOjpQYXJzZXIgY2xhc3MuCiBEZXNjcmlwdG9yUG9vbCByZXNvbHZlcyB0aGVzZSB3aGVuIGJ1aWxkaW5nIERlc2NyaXB0b3Igb2JqZWN0cy4gVGhlcmVmb3JlLAogb3B0aW9ucyBwcm90b3MgaW4gZGVzY3JpcHRvciBvYmplY3RzIChlLmcuIHJldHVybmVkIGJ5IERlc2NyaXB0b3I6Om9wdGlvbnMoKSwKIG9yIHByb2R1Y2VkIGJ5IERlc2NyaXB0b3I6OkNvcHlUbygpKSB3aWxsIG5ldmVyIGhhdmUgVW5pbnRlcnByZXRlZE9wdGlvbnMKIGluIHRoZW0uCgoLCgMEEgESBLwFCBsKywIKBAQSAwASBsIFAsUFAxq6AiBUaGUgbmFtZSBvZiB0aGUgdW5pbnRlcnByZXRlZCBvcHRpb24uICBFYWNoIHN0cmluZyByZXByZXNlbnRzIGEgc2VnbWVudCBpbgogYSBkb3Qtc2VwYXJhdGVkIG5hbWUuICBpc19leHRlbnNpb24gaXMgdHJ1ZSBpZmYgYSBzZWdtZW50IHJlcHJlc2VudHMgYW4KIGV4dGVuc2lvbiAoZGVub3RlZCB3aXRoIHBhcmVudGhlc2VzIGluIG9wdGlvbnMgc3BlY3MgaW4gLnByb3RvIGZpbGVzKS4KIEUuZy4seyBbImZvbyIsIGZhbHNlXSwgWyJiYXIuYmF6IiwgdHJ1ZV0sIFsicXV4IiwgZmFsc2VdIH0gcmVwcmVzZW50cwogImZvby4oYmFyLmJheikucXV4Ii4KCg0KBQQSAwABEgTCBQoSCg4KBgQSAwACABIEwwUEIgoPCgcEEgMAAgAEEgTDBQQMCg8KBwQSAwAC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KDEpLgoKIE5vdGVzOgogLSBBIGxvY2F0aW9uIG1heSByZWZlciB0byBhIHJlcGVhdGVkIGZpZWxkIGl0c2VsZiAoaS5lLiBub3QgdG8gYW55CiAgIHBhcnRpY3VsYXIgaW5kZXggd2l0aGluIGl0KS4gIFRoaXMgaXMgdXNlZCB3aGVuZXZlciBhIHNldCBvZiBlbGVtZW50cyBhcmUKICAgbG9naWNhbGx5IGVuY2xvc2VkIGluIGEgc2luZ2xlIGNvZGUgc2VnbWVudC4gIEZvciBleGFtcGxlLCBhbiBlbnRpcmUKICAgZXh0ZW5kIGJsb2NrIChwb3NzaWJseSBjb250YWluaW5nIG11bHRpcGxlIGV4dGVuc2lvbiBkZWZpbml0aW9ucykgd2lsbAogICBoYXZlIGFuIG91dGVyIGxvY2F0aW9uIHdob3NlIHBhdGggcmVmZXJzIHRvIHRoZSAiZXh0ZW5zaW9ucyIgcmVwZWF0ZWQKICAgZmllbGQgd2l0aG91dCBhbiBpbmRleC4KIC0gTXVsdGlwbGUgbG9jYXRpb25zIG1heSBoYXZlIHRoZSBzYW1lIHBhdGguICBUaGlzIGhhcHBlbnMgd2hlbiBhIHNpbmdsZQogICBsb2dpY2FsIGRlY2xhcmF0aW9uIGlzIHNwcmVhZCBvdXQgYWNyb3NzIG11bHRpcGxlIHBsYWNlcy4gIFRoZSBtb3N0CiAgIG9idmlvdXMgZXhhbXBsZSBpcyB0aGUgImV4dGVuZCIgYmxvY2sgYWdhaW4gLS0gdGhlcmUgbWF5IGJlIG11bHRpcGxlCiAgIGV4dGVuZCBibG9ja3MgaW4gdGhlIHNhbWUgc2NvcGUsIGVhY2ggb2Ygd2hpY2ggd2lsbCBoYXZlIHRoZSBzYW1lIHBhdGguCiAtIEEgbG9jYXRpb24ncyBzcGFuIGlzIG5vdCBhbHdheXMgYSBzdWJzZXQgb2YgaXRzIHBhcmVudCdzIHNwYW4uICBGb3IKICAgZXhhbXBsZSwgdGhlICJleHRlbmRlZSIgb2YgYW4gZXh0ZW5zaW9uIGRlY2xhcmF0aW9uIGFwcGVhcnMgYXQgdGhlCiAgIGJlZ2lubmluZyBvZiB0aGUgImV4dGVuZCIgYmxvY2sgYW5kIGlzIHNoYXJlZCBieSBhbGwgZXh0ZW5zaW9ucyB3aXRoaW4KICAgdGhlIGJsb2NrLgogLSBKdXN0IGJlY2F1c2UgYSBsb2NhdGlvbidzIHNwYW4gaXMgYSBzdWJzZXQgb2Ygc29tZSBvdGhlciBsb2NhdGlvbidzIHNwYW4KICAgZG9lcyBub3QgbWVhbiB0aGF0IGl0IGlzIGEgZGVzY2VuZGVudC4gIEZvciBleGFtcGxlLCBhICJncm91cCIgZGVmaW5lcwogICBib3RoIGEgdHlwZSBhbmQgYSBmaWVsZCBpbiBhIHNpbmdsZSBkZWNsYXJhdGlvbi4gIFRodXMsIHRoZSBsb2NhdGlvbnMKICAgY29ycmVzcG9uZGluZyB0byB0aGUgdHlwZSBhbmQgZmllbGQgYW5kIHRoZWlyIGNvbXBvbmVudHMgd2lsbCBvdmVybGFwLgogLSBDb2RlIHdoaWNoIHRyaWVzIHRvIGludGVycHJldCBsb2NhdGlvbnMgc2hvdWxkIHByb2JhYmx5IGJlIGRlc2lnbmVkIHRvCiAgIGlnbm9yZSB0aG9zZSB0aGF0IGl0IGRvZXNuJ3QgdW5kZXJzdGFuZCwgYXMgbW9yZSB0eXBlcyBvZiBsb2NhdGlvbnMgY291bGQKICAgYmUgcmVjb3JkZWQgaW4gdGhlIGZ1dHVyZS4KCg0KBQQTAgAEEgSDBgIKCg0KBQQTAgAGEgSDBgsTCg0KBQQTAgABEgSDBhQcCg0KBQQTAgADEgSDBh8gCg4KBAQTAwASBoQGAtcGAwoNCgUEEwMAARIEhAYKEgqDBwoGBBMDAAIAEgScBgQqGvIGIElkZW50aWZpZXMgd2hpY2ggcGFydCBvZiB0aGUgRmlsZURlc2NyaXB0b3JQcm90byB3YXMgZGVmaW5lZCBhdCB0aGlzCiBsb2NhdGlvbi4KCiBFYWNoIGVsZW1lbnQgaXMgYSBmaWVsZCBudW1iZXIgb3IgYW4gaW5kZXguICBUaGV5IGZvcm0gYSBwYXRoIGZyb20KIHRoZSByb290IEZpbGVEZXNjcmlwdG9yUHJvdG8gdG8gdGhlIHBsYWNlIHdoZXJlIHRoZSBkZWZpbml0aW9uLiAgRm9yCiBleGFtcGxlLCB0aGlzIHBhdGg6CiAgIFsgNCwgMywgMiwgNywgMSBdCiByZWZlcnMgdG86CiAgIGZpbGUubWVzc2FnZV90eXBlKDMpICAvLyA0LCAzCiAgICAgICAuZmllbGQoNykgICAgICAgICAvLyAyLCA3CiAgICAgICAubmFtZSgpICAgICAgICAgICAvLyAxCiBUaGlzIGlzIGJlY2F1c2UgRmlsZURlc2NyaXB0b3JQcm90by5tZXNzYWdlX3R5cGUgaGFzIGZpZWxkIG51bWJlciA0OgogICByZXBlYXRlZCBEZXNjcmlwdG9yUHJvdG8gbWVzc2FnZV90eXBlID0gNDsKIGFuZCBEZXNjcmlwdG9yUHJvdG8uZmllbGQgaGFzIGZpZWxkIG51bWJlciAyOgogICByZXBlYXRlZCBGaWVsZERlc2NyaXB0b3JQcm90byBmaWVsZCA9IDI7CiBhbmQgRmllbGREZXNjcmlwdG9yUHJvdG8ubmFtZSBoYXMgZmllbGQgbnVtYmVyIDE6CiAgIG9wdGlvbmFsIHN0cmluZyBuYW1lID0gMTsKCiBUaHVzLCB0aGUgYWJvdmUgcGF0aCBnaXZlcyB0aGUgbG9jYXRpb24gb2YgYSBmaWVsZCBuYW1lLiAgSWYgd2UgcmVtb3ZlZAogdGhlIGxhc3QgZWxlbWVudDoKICAgWyA0LCAzLCAyLCA3IF0KIHRoaXMgcGF0aCByZWZlcnMgdG8gdGhlIHdob2xlIGZpZWxkIGRlY2xhcmF0aW9uIChmcm9tIHRoZSBiZWdpbm5pbmcKIG9mIHRoZSBsYWJlbCB0byB0aGUgdGVybWluYXRpbmcgc2VtaWNvbG9uKS4KCg8KBwQTAwACAAQSBJwGBAwKDwoHBBMDAAIABRIEnAYNEgoPCgcEEwMAAgABEgScBhMXCg8KBwQTAwACAAMSBJwGGhsKDwoHBBMDAAIACBIEnAYcKQoQCggEEwMAAgAIAhIEnAYdKArSAgoGBBMDAAIBEgSjBgQqGsECIEFsd2F5cyBoYXMgZXhhY3RseSB0aHJlZSBvciBmb3VyIGVsZW1lbnRzOiBzdGFydCBsaW5lLCBzdGFydCBjb2x1bW4sCiBlbmQgbGluZSAob3B0aW9uYWwsIG90aGVyd2lzZSBhc3N1bWVkIHNhbWUgYXMgc3RhcnQgbGluZSksIGVuZCBjb2x1bW4uCiBUaGVzZSBhcmUgcGFja2VkIGludG8gYSBzaW5nbGUgZmllbGQgZm9yIGVmZmljaWVuY3kuICBOb3RlIHRoYXQgbGluZQogYW5kIGNvbHVtbiBudW1iZXJzIGFyZSB6ZXJvLWJhc2VkIC0tIHR5cGljYWxseSB5b3Ugd2lsbCB3YW50IHRvIGFkZAogMSB0byBlYWNoIGJlZm9yZSBkaXNwbGF5aW5nIHRvIGEgdXNlci4KCg8KBwQTAwACAQQSBKMGBAwKDwoHBBMDAAIBBRIEowYNEgoPCgcEEwMAAgEBEgSjBhMXCg8KBwQTAwACAQMSBKMGGhsKDwoHBBMDAAIBCBIEowYcKQoQCggEEwMAAgEIAhIEowYdKAqlDAoGBBMDAAICEgTUBgQpGpQMIElmIHRoaXMgU291cmNlQ29kZUluZm8gcmVwcmVzZW50cyBhIGNvbXBsZXRlIGRlY2xhcmF0aW9uLCB0aGVzZSBhcmUgYW55CiBjb21tZW50cyBhcHBlYXJpbmcgYmVmb3JlIGFuZCBhZnRlciB0aGUgZGVjbGFyYXRpb24gd2hpY2ggYXBwZWFyIHRvIGJlCiBhdHRhY2hlZCB0byB0aGUgZGVjbGFyYXRpb24uCgogQSBzZXJpZXMgb2YgbGluZSBjb21tZW50cyBhcHBlYXJpbmcgb24gY29uc2VjdXRpdmUgbGluZXMsIHdpdGggbm8gb3RoZXIKIHRva2VucyBhcHBlYXJpbmcgb24gdGhvc2UgbGluZXMsIHdpbGwgYmUgdHJlYXRlZCBhcyBhIHNpbmdsZSBjb21tZW50LgoKIGxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMgd2lsbCBrZWVwIHBhcmFncmFwaHMgb2YgY29tbWVudHMgdGhhdCBhcHBlYXIKIGJlZm9yZSAoYnV0IG5vdCBjb25uZWN0ZWQgdG8pIHRoZSBjdXJyZW50IGVsZW1lbnQuIEVhY2ggcGFyYWdyYXBoLAogc2VwYXJhdGVkIGJ5IGVtcHR5IGxpbmVzLCB3aWxsIGJlIG9uZSBjb21tZW50IGVsZW1lbnQgaW4gdGhlIHJlcGVhdGVkCiBmaWVsZC4KCiBPbmx5IHRoZSBjb21tZW50IGNvbnRlbnQgaXMgcHJvdmlkZWQ7IGNvbW1lbnQgbWFya2VycyAoZS5nLiAvLykgYXJlCiBzdHJpcHBlZCBvdXQuICBGb3IgYmxvY2sgY29tbWVudHMsIGxlYWRpbmcgd2hpdGVzcGFjZSBhbmQgYW4gYXN0ZXJpc2sKIHdpbGwgYmUgc3RyaXBwZWQgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggbGluZSBvdGhlciB0aGFuIHRoZSBmaXJzdC4KIE5ld2xpbmVzIGFyZSBpbmNsdWRlZCBpbiB0aGUgb3V0cHV0LgoKIEV4YW1wbGVzOgoKICAgb3B0aW9uYWwgaW50MzIgZm9vID0gMTsgIC8vIENvbW1lbnQgYXR0YWNoZWQgdG8gZm9vLgogICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIGJhci4KICAgb3B0aW9uYWwgaW50MzIgYmFyID0gMjsKCiAgIG9wdGlvbmFsIHN0cmluZyBiYXogPSAzOwogICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIGJhei4KICAgLy8gQW5vdGhlciBsaW5lIGF0dGFjaGVkIHRvIGJhei4KCiAgIC8vIENvbW1lbnQgYXR0YWNoZWQgdG8gcXV4LgogICAvLwogICAvLyBBbm90aGVyIGxpbmUgYXR0YWNoZWQgdG8gcXV4LgogICBvcHRpb25hbCBkb3VibGUgcXV4ID0gNDsKCiAgIC8vIERldGFjaGVkIGNvbW1lbnQgZm9yIGNvcmdlLiBUaGlzIGlzIG5vdCBsZWFkaW5nIG9yIHRyYWlsaW5nIGNvbW1lbnRzCiAgIC8vIHRvIHF1eCBvciBjb3JnZSBiZWNhdXNlIHRoZXJlIGFyZSBibGFuayBsaW5lcyBzZXBhcmF0aW5nIGl0IGZyb20KICAgLy8gYm90aC4KCiAgIC8vIERldGFjaGVkIGNvbW1lbnQgZm9yIGNvcmdlIHBhcmFncmFwaCAyLgoKICAgb3B0aW9uYWwgc3RyaW5nIGNvcmdlID0gNTsKICAgLyogQmxvY2sgY29tbWVudCBhdHRhY2hlZAogICAgKiB0byBjb3JnZS4gIExlYWRpbmcgYXN0ZXJpc2tzCiAgICAqIHdpbGwgYmUgcmVtb3ZlZC4gKi8KICAgLyogQmxvY2sgY29tbWVudCBhdHRhY2hlZCB0bwogICAgKiBncmF1bHQuICovCiAgIG9wdGlvbmFsIGludDMyIGdyYXVsdCA9IDY7CgogICAvLyBpZ25vcmVk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CA0KDgoHBAAEAAICAhIDERARCj4KBAQAAgASAxUEGxoxIEN1cnJlbnQgc3RhdGUgb2YgaGVhbHRoIG9mIHRoaXMgVm9sdGhhIGluc3RhbmNlCgoNCgUEAAIABBIEFQQSBQoMCgUEAAIABhIDFQQPCgwKBQQAAgABEgMVEBUKDAoFBAACAAMSAxUYGQolCgIGABIEGQAiARoZIEhlYWx0aCByZWxhdGVkIHNlcnZpY2VzCgoKCgMGAAESAxkIFQpBCgQGAAIAEgQcBCAFGjMgUmV0dXJuIGN1cnJlbnQgaGVhbHRoIHN0YXR1cyBvZiBhIFZvbHRoYSBpbnN0YW5jZQoKDAoFBgACAAESAxwIFwoMCgUGAAIAAhIDHBgtCgwKBQYAAgADEgMcOEQKDQoFBgACAAQSBB0IHwoKEQoJBgACAASwyrwiEgQdCB8KYgZwcm90bzMK8IkICh92b2x0aGFfcHJvdG9zL29wZW5mbG93XzEzLnByb3RvEgtvcGVuZmxvd18xMxocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90byJjCgpvZnBfaGVhZGVyEhgKB3ZlcnNpb24YASABKA1SB3ZlcnNpb24SKQoEdHlwZRgCIAEoDjIVLm9wZW5mbG93XzEzLm9mcF90eXBlUgR0eXBlEhAKA3hpZBgDIAEoDVIDeGlkIqsBChVvZnBfaGVsbG9fZWxlbV9oZWFkZXISNAoEdHlwZRgBIAEoDjIgLm9wZW5mbG93XzEzLm9mcF9oZWxsb19lbGVtX3R5cGVSBHR5cGUSUQoNdmVyc2lvbmJpdG1hcBgCIAEoCzIpLm9wZW5mbG93XzEzLm9mcF9oZWxsb19lbGVtX3ZlcnNpb25iaXRtYXBIAFINdmVyc2lvbmJpdG1hcEIJCgdlbGVtZW50IjgKHG9mcF9oZWxsb19lbGVtX3ZlcnNpb25iaXRtYXASGAoHYml0bWFwcxgCIAMoDVIHYml0bWFwcyJLCglvZnBfaGVsbG8SPgoIZWxlbWVudHMYASADKAsyIi5vcGVuZmxvd18xMy5vZnBfaGVsbG9fZWxlbV9oZWFkZXJSCGVsZW1lbnRzIk0KEW9mcF9zd2l0Y2hfY29uZmlnEhQKBWZsYWdzGAEgASgNUgVmbGFncxIiCg1taXNzX3NlbmRfbGVuGAIgASgNUgttaXNzU2VuZExlbiJCCg1vZnBfdGFibGVfbW9kEhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkEhYKBmNvbmZpZxgCIAEoDVIGY29uZmlnIqACCghvZnBfcG9ydBIXCgdwb3J0X25vGAEgASgNUgZwb3J0Tm8SFwoHaHdfYWRkchgCIAMoDVIGaHdBZGRyEhIKBG5hbWUYAyABKAlSBG5hbWUSFgoGY29uZmlnGAQgASgNUgZjb25maWcSFAoFc3RhdGUYBSABKA1SBXN0YXRlEhIKBGN1cnIYBiABKA1SBGN1cnISHgoKYWR2ZXJ0aXNlZBgHIAEoDVIKYWR2ZXJ0aXNlZBIcCglzdXBwb3J0ZWQYCCABKA1SCXN1cHBvcnRlZBISCgRwZWVyGAkgASgNUgRwZWVyEh0KCmN1cnJfc3BlZWQYCiABKA1SCWN1cnJTcGVlZBIbCgltYXhfc3BlZWQYCyABKA1SCG1heFNwZWVkIrUBChNvZnBfc3dpdGNoX2ZlYXR1cmVzEh8KC2RhdGFwYXRoX2lkGAEgASgEUgpkYXRhcGF0aElkEhsKCW5fYnVmZmVycxgCIAEoDVIIbkJ1ZmZlcnMSGQoIbl90YWJsZXMYAyABKA1SB25UYWJsZXMSIQoMYXV4aWxpYXJ5X2lkGAQgASgNUgthdXhpbGlhcnlJZBIiCgxjYXBhYmlsaXRpZXMYBSABKA1SDGNhcGFiaWxpdGllcyJyCg9vZnBfcG9ydF9zdGF0dXMSNAoGcmVhc29uGAEgASgOMhwub3BlbmZsb3dfMTMub2ZwX3BvcnRfcmVhc29uUgZyZWFzb24SKQoEZGVzYxgCIAEoCzIVLm9wZW5mbG93XzEzLm9mcF9wb3J0UgRkZXNjIk8KEW9mcF9kZXZpY2Vfc3RhdHVzEjoKBnN0YXR1cxgBIAEoDjIiLm9wZW5mbG93XzEzLm9mcF9kZXZpY2VfY29ubmVjdGlvblIGc3RhdHVzIooBCgxvZnBfcG9ydF9tb2QSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEhcKB2h3X2FkZHIYAiADKA1SBmh3QWRkchIWCgZjb25maWcYAyABKA1SBmNvbmZpZxISCgRtYXNrGAQgASgNUgRtYXNrEhwKCWFkdmVydGlzZRgFIAEoDVIJYWR2ZXJ0aXNlIncKCW9mcF9tYXRjaBIvCgR0eXBlGAEgASgOMhsub3BlbmZsb3dfMTMub2ZwX21hdGNoX3R5cGVSBHR5cGUSOQoKb3htX2ZpZWxkcxgCIAMoCzIaLm9wZW5mbG93XzEzLm9mcF9veG1fZmllbGRSCW94bUZpZWxkcyLqAQoNb2ZwX294bV9maWVsZBI3CglveG1fY2xhc3MYASABKA4yGi5vcGVuZmxvd18xMy5vZnBfb3htX2NsYXNzUghveG1DbGFzcxI9CglvZmJfZmllbGQYBCABKAsyHi5vcGVuZmxvd18xMy5vZnBfb3htX29mYl9maWVsZEgAUghvZmJGaWVsZBJYChJleHBlcmltZW50ZXJfZmllbGQYBSABKAsyJy5vcGVuZmxvd18xMy5vZnBfb3htX2V4cGVyaW1lbnRlcl9maWVsZEgAUhFleHBlcmltZW50ZXJGaWVsZEIHCgVmaWVsZCLXDgoRb2ZwX294bV9vZmJfZmllbGQSNAoEdHlwZRgBIAEoDjIgLm9wZW5mbG93XzEzLm94bV9vZmJfZmllbGRfdHlwZXNSBHR5cGUSGQoIaGFzX21hc2sYAiABKAhSB2hhc01hc2sSFAoEcG9ydBgDIAEoDUgAUgRwb3J0EiUKDXBoeXNpY2FsX3BvcnQYBCABKA1IAFIMcGh5c2ljYWxQb3J0EicKDnRhYmxlX21ldGFkYXRhGAUgASgESABSDXRhYmxlTWV0YWRhdGESGQoHZXRoX2RzdBgGIAEoDEgAUgZldGhEc3QSGQoHZXRoX3NyYxgHIAEoDEgAUgZldGhTcmMSGwoIZXRoX3R5cGUYCCABKA1IAFIHZXRoVHlwZRIbCgh2bGFuX3ZpZBgJIAEoDUgAUgd2bGFuVmlkEhsKCHZsYW5fcGNwGAogASgNSABSB3ZsYW5QY3ASGQoHaXBfZHNjcBgLIAEoDUgAUgZpcERzY3ASFwoGaXBfZWNuGAwgASgNSABSBWlwRWNuEhsKCGlwX3Byb3RvGA0gASgNSABSB2lwUHJvdG8SGwoIaXB2NF9zcmMYDiABKA1IAFIHaXB2NFNyYxIbCghpcHY0X2RzdBgPIAEoDUgAUgdpcHY0RHN0EhkKB3RjcF9zcmMYECABKA1IAFIGdGNwU3JjEhkKB3RjcF9kc3QYESABKA1IAFIGdGNwRHN0EhkKB3VkcF9zcmMYEiABKA1IAFIGdWRwU3JjEhkKB3VkcF9kc3QYEyABKA1IAFIGdWRwRHN0EhsKCHNjdHBfc3JjGBQgASgNSABSB3NjdHBTcmMSGwoIc2N0cF9kc3QYFSABKA1IAFIHc2N0cERzdBIhCgtpY21wdjRfdHlwZRgWIAEoDUgAUgppY21wdjRUeXBlEiEKC2ljbXB2NF9jb2RlGBcgASgNSABSCmljbXB2NENvZGUSFwoGYXJwX29wGBggASgNSABSBWFycE9wEhkKB2FycF9zcGEYGSABKA1IAFIGYXJwU3BhEhkKB2FycF90cGEYGiABKA1IAFIGYXJwVHBhEhkKB2FycF9zaGEYGyABKAxIAFIGYXJwU2hhEhkKB2FycF90aGEYHCABKAxIAFIGYXJwVGhhEhsKCGlwdjZfc3JjGB0gASgMSABSB2lwdjZTcmMSGwoIaXB2Nl9kc3QYHiABKAxIAFIHaXB2NkRzdBIhCgtpcHY2X2ZsYWJlbBgfIAEoDUgAUgppcHY2RmxhYmVsEiEKC2ljbXB2Nl90eXBlGCAgASgNSABSCmljbXB2NlR5cGUSIQoLaWNtcHY2X2NvZGUYISABKA1IAFIKaWNtcHY2Q29kZRImCg5pcHY2X25kX3RhcmdldBgiIAEoDEgAUgxpcHY2TmRUYXJnZXQSIAoLaXB2Nl9uZF9zc2wYIyABKAxIAFIJaXB2Nk5kU3NsEiAKC2lwdjZfbmRfdGxsGCQgASgMSABSCWlwdjZOZFRsbBIfCgptcGxzX2xhYmVsGCUgASgNSABSCW1wbHNMYWJlbBIZCgdtcGxzX3RjGCYgASgNSABSBm1wbHNUYxIbCghtcGxzX2JvcxgnIAEoDUgAUgdtcGxzQm9zEhsKCHBiYl9pc2lkGCggASgNSABSB3BiYklzaWQSHQoJdHVubmVsX2lkGCkgASgESABSCHR1bm5lbElkEiEKC2lwdjZfZXh0aGRyGCogASgNSABSCmlwdjZFeHRoZHISMAoTdGFibGVfbWV0YWRhdGFfbWFzaxhpIAEoBEgBUhF0YWJsZU1ldGFkYXRhTWFzaxIiCgxldGhfZHN0X21hc2sYaiABKAxIAVIKZXRoRHN0TWFzaxIiCgxldGhfc3JjX21hc2sYayABKAxIAVIKZXRoU3JjTWFzaxIkCg12bGFuX3ZpZF9tYXNrGG0gASgNSAFSC3ZsYW5WaWRNYXNrEiQKDWlwdjRfc3JjX21hc2sYciABKA1IAVILaXB2NFNyY01hc2sSJAoNaXB2NF9kc3RfbWFzaxhzIAEoDUgBUgtpcHY0RHN0TWFzaxIiCgxhcnBfc3BhX21hc2sYfSABKA1IAVIKYXJwU3BhTWFzaxIiCgxhcnBfdHBhX21hc2sYfiABKA1IAVIKYXJwVHBhTWFzaxIlCg1pcHY2X3NyY19tYXNrGIEBIAEoDEgBUgtpcHY2U3JjTWFzaxIlCg1pcHY2X2RzdF9tYXNrGIIBIAEoDEgBUgtpcHY2RHN0TWFzaxIrChBpcHY2X2ZsYWJlbF9tYXNrGIMBIAEoDUgBUg5pcHY2RmxhYmVsTWFzaxIlCg1wYmJfaXNpZF9tYXNrGIwBIAEoDUgBUgtwYmJJc2lkTWFzaxInCg50dW5uZWxfaWRfbWFzaxiNASABKARIAVIMdHVubmVsSWRNYXNrEisKEGlwdjZfZXh0aGRyX21hc2sYjgEgASgNSAFSDmlwdjZFeHRoZHJNYXNrQgcKBXZhbHVlQgYKBG1hc2siXwoab2ZwX294bV9leHBlcmltZW50ZXJfZmllbGQSHQoKb3htX2hlYWRlchgBIAEoDVIJb3htSGVhZGVyEiIKDGV4cGVyaW1lbnRlchgCIAEoDVIMZXhwZXJpbWVudGVyIrIECgpvZnBfYWN0aW9uEjAKBHR5cGUYASABKA4yHC5vcGVuZmxvd18xMy5vZnBfYWN0aW9uX3R5cGVSBHR5cGUSOAoGb3V0cHV0GAIgASgLMh4ub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9vdXRwdXRIAFIGb3V0cHV0Ej0KCG1wbHNfdHRsGAMgASgLMiAub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9tcGxzX3R0bEgAUgdtcGxzVHRsEjIKBHB1c2gYBCABKAsyHC5vcGVuZmxvd18xMy5vZnBfYWN0aW9uX3B1c2hIAFIEcHVzaBI9Cghwb3BfbXBscxgFIAEoCzIgLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25fcG9wX21wbHNIAFIHcG9wTXBscxI1CgVncm91cBgGIAEoCzIdLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25fZ3JvdXBIAFIFZ3JvdXASNwoGbndfdHRsGAcgASgLMh4ub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9ud190dGxIAFIFbndUdGwSQAoJc2V0X2ZpZWxkGAggASgLMiEub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9zZXRfZmllbGRIAFIIc2V0RmllbGQSSgoMZXhwZXJpbWVudGVyGAkgASgLMiQub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9leHBlcmltZW50ZXJIAFIMZXhwZXJpbWVudGVyQggKBmFjdGlvbiJAChFvZnBfYWN0aW9uX291dHB1dBISCgRwb3J0GAEgASgNUgRwb3J0EhcKB21heF9sZW4YAiABKA1SBm1heExlbiIwChNvZnBfYWN0aW9uX21wbHNfdHRsEhkKCG1wbHNfdHRsGAEgASgNUgdtcGxzVHRsIi8KD29mcF9hY3Rpb25fcHVzaBIcCglldGhlcnR5cGUYASABKA1SCWV0aGVydHlwZSIzChNvZnBfYWN0aW9uX3BvcF9tcGxzEhwKCWV0aGVydHlwZRgBIAEoDVIJZXRoZXJ0eXBlIi0KEG9mcF9hY3Rpb25fZ3JvdXASGQoIZ3JvdXBfaWQYASABKA1SB2dyb3VwSWQiKgoRb2ZwX2FjdGlvbl9ud190dGwSFQoGbndfdHRsGAEgASgNUgVud1R0bCJIChRvZnBfYWN0aW9uX3NldF9maWVsZBIwCgVmaWVsZBgBIAEoCzIaLm9wZW5mbG93XzEzLm9mcF9veG1fZmllbGRSBWZpZWxkIlEKF29mcF9hY3Rpb25fZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyEhIKBGRhdGEYAiABKAxSBGRhdGEinAMKD29mcF9pbnN0cnVjdGlvbhISCgR0eXBlGAEgASgNUgR0eXBlEkgKCmdvdG9fdGFibGUYAiABKAsyJy5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25fZ290b190YWJsZUgAUglnb3RvVGFibGUSVAoOd3JpdGVfbWV0YWRhdGEYAyABKAsyKy5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25fd3JpdGVfbWV0YWRhdGFIAFINd3JpdGVNZXRhZGF0YRJACgdhY3Rpb25zGAQgASgLMiQub3BlbmZsb3dfMTMub2ZwX2luc3RydWN0aW9uX2FjdGlvbnNIAFIHYWN0aW9ucxI6CgVtZXRlchgFIAEoCzIiLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvbl9tZXRlckgAUgVtZXRlchJPCgxleHBlcmltZW50ZXIYBiABKAsyKS5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25fZXhwZXJpbWVudGVySABSDGV4cGVyaW1lbnRlckIGCgRkYXRhIjcKGm9mcF9pbnN0cnVjdGlvbl9nb3RvX3RhYmxlEhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkImEKHm9mcF9pbnN0cnVjdGlvbl93cml0ZV9tZXRhZGF0YRIaCghtZXRhZGF0YRgBIAEoBFIIbWV0YWRhdGESIwoNbWV0YWRhdGFfbWFzaxgCIAEoBFIMbWV0YWRhdGFNYXNrIkwKF29mcF9pbnN0cnVjdGlvbl9hY3Rpb25zEjEKB2FjdGlvbnMYASADKAsyFy5vcGVuZmxvd18xMy5vZnBfYWN0aW9uUgdhY3Rpb25zIjIKFW9mcF9pbnN0cnVjdGlvbl9tZXRlchIZCghtZXRlcl9pZBgBIAEoDVIHbWV0ZXJJZCJWChxvZnBfaW5zdHJ1Y3Rpb25fZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyEhIKBGRhdGEYAiABKAxSBGRhdGEi3AMKDG9mcF9mbG93X21vZBIWCgZjb29raWUYASABKARSBmNvb2tpZRIfCgtjb29raWVfbWFzaxgCIAEoBFIKY29va2llTWFzaxIZCgh0YWJsZV9pZBgDIAEoDVIHdGFibGVJZBI7Cgdjb21tYW5kGAQgASgOMiEub3BlbmZsb3dfMTMub2ZwX2Zsb3dfbW9kX2NvbW1hbmRSB2NvbW1hbmQSIQoMaWRsZV90aW1lb3V0GAUgASgNUgtpZGxlVGltZW91dBIhCgxoYXJkX3RpbWVvdXQYBiABKA1SC2hhcmRUaW1lb3V0EhoKCHByaW9yaXR5GAcgASgNUghwcmlvcml0eRIbCglidWZmZXJfaWQYCCABKA1SCGJ1ZmZlcklkEhkKCG91dF9wb3J0GAkgASgNUgdvdXRQb3J0EhsKCW91dF9ncm91cBgKIAEoDVIIb3V0R3JvdXASFAoFZmxhZ3MYCyABKA1SBWZsYWdzEiwKBW1hdGNoGAwgASgLMhYub3BlbmZsb3dfMTMub2ZwX21hdGNoUgVtYXRjaBJACgxpbnN0cnVjdGlvbnMYDSADKAsyHC5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25SDGluc3RydWN0aW9ucyKXAQoKb2ZwX2J1Y2tldBIWCgZ3ZWlnaHQYASABKA1SBndlaWdodBIdCgp3YXRjaF9wb3J0GAIgASgNUgl3YXRjaFBvcnQSHwoLd2F0Y2hfZ3JvdXAYAyABKA1SCndhdGNoR3JvdXASMQoHYWN0aW9ucxgEIAMoCzIXLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25SB2FjdGlvbnMizAEKDW9mcF9ncm91cF9tb2QSPAoHY29tbWFuZBgBIAEoDjIiLm9wZW5mbG93XzEzLm9mcF9ncm91cF9tb2RfY29tbWFuZFIHY29tbWFuZBIvCgR0eXBlGAIgASgOMhsub3BlbmZsb3dfMTMub2ZwX2dyb3VwX3R5cGVSBHR5cGUSGQoIZ3JvdXBfaWQYAyABKA1SB2dyb3VwSWQSMQoHYnVja2V0cxgEIAMoCzIXLm9wZW5mbG93XzEzLm9mcF9idWNrZXRSB2J1Y2tldHMijQEKDm9mcF9wYWNrZXRfb3V0EhsKCWJ1ZmZlcl9pZBgBIAEoDVIIYnVmZmVySWQSFwoHaW5fcG9ydBgCIAEoDVIGaW5Qb3J0EjEKB2FjdGlvbnMYAyADKAsyFy5vcGVuZmxvd18xMy5vZnBfYWN0aW9uUgdhY3Rpb25zEhIKBGRhdGEYBCABKAxSBGRhdGEi3AEKDW9mcF9wYWNrZXRfaW4SGwoJYnVmZmVyX2lkGAEgASgNUghidWZmZXJJZBI5CgZyZWFzb24YAiABKA4yIS5vcGVuZmxvd18xMy5vZnBfcGFja2V0X2luX3JlYXNvblIGcmVhc29uEhkKCHRhYmxlX2lkGAMgASgNUgd0YWJsZUlkEhYKBmNvb2tpZRgEIAEoBFIGY29va2llEiwKBW1hdGNoGAUgASgLMhYub3BlbmZsb3dfMTMub2ZwX21hdGNoUgVtYXRjaBISCgRkYXRhGAYgASgMUgRkYXRhIp0DChBvZnBfZmxvd19yZW1vdmVkEhYKBmNvb2tpZRgBIAEoBFIGY29va2llEhoKCHByaW9yaXR5GAIgASgNUghwcmlvcml0eRI8CgZyZWFzb24YAyABKA4yJC5vcGVuZmxvd18xMy5vZnBfZmxvd19yZW1vdmVkX3JlYXNvblIGcmVhc29uEhkKCHRhYmxlX2lkGAQgASgNUgd0YWJsZUlkEiEKDGR1cmF0aW9uX3NlYxgFIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgGIAEoDVIMZHVyYXRpb25Oc2VjEiEKDGlkbGVfdGltZW91dBgHIAEoDVILaWRsZVRpbWVvdXQSIQoMaGFyZF90aW1lb3V0GAggASgNUgtoYXJkVGltZW91dBIhCgxwYWNrZXRfY291bnQYCSABKARSC3BhY2tldENvdW50Eh0KCmJ5dGVfY291bnQYCiABKARSCWJ5dGVDb3VudBIsCgVtYXRjaBh5IAEoCzIWLm9wZW5mbG93XzEzLm9mcF9tYXRjaFIFbWF0Y2gi3AIKFW9mcF9tZXRlcl9iYW5kX2hlYWRlchI0CgR0eXBlGAEgASgOMiAub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfdHlwZVIEdHlwZRISCgRyYXRlGAIgASgNUgRyYXRlEh0KCmJ1cnN0X3NpemUYAyABKA1SCWJ1cnN0U2l6ZRI2CgRkcm9wGAQgASgLMiAub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfZHJvcEgAUgRkcm9wEkoKC2RzY3BfcmVtYXJrGAUgASgLMicub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfZHNjcF9yZW1hcmtIAFIKZHNjcFJlbWFyaxJOCgxleHBlcmltZW50ZXIYBiABKAsyKC5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfYmFuZF9leHBlcmltZW50ZXJIAFIMZXhwZXJpbWVudGVyQgYKBGRhdGEiFQoTb2ZwX21ldGVyX2JhbmRfZHJvcCI7ChpvZnBfbWV0ZXJfYmFuZF9kc2NwX3JlbWFyaxIdCgpwcmVjX2xldmVsGAEgASgNUglwcmVjTGV2ZWwiQQobb2ZwX21ldGVyX2JhbmRfZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyIrgBCg1vZnBfbWV0ZXJfbW9kEjwKB2NvbW1hbmQYASABKA4yIi5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfbW9kX2NvbW1hbmRSB2NvbW1hbmQSFAoFZmxhZ3MYAiABKA1SBWZsYWdzEhkKCG1ldGVyX2lkGAMgASgNUgdtZXRlcklkEjgKBWJhbmRzGAQgAygLMiIub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfaGVhZGVyUgViYW5kcyJ8Cg1vZnBfZXJyb3JfbXNnEi8KBmhlYWRlchgBIAEoCzIXLm9wZW5mbG93XzEzLm9mcF9oZWFkZXJSBmhlYWRlchISCgR0eXBlGAIgASgNUgR0eXBlEhIKBGNvZGUYAyABKA1SBGNvZGUSEgoEZGF0YRgEIAEoDFIEZGF0YSKDAQoab2ZwX2Vycm9yX2V4cGVyaW1lbnRlcl9tc2cSEgoEdHlwZRgBIAEoDVIEdHlwZRIZCghleHBfdHlwZRgCIAEoDVIHZXhwVHlwZRIiCgxleHBlcmltZW50ZXIYAyABKA1SDGV4cGVyaW1lbnRlchISCgRkYXRhGAQgASgMUgRkYXRhInYKFW9mcF9tdWx0aXBhcnRfcmVxdWVzdBIzCgR0eXBlGAEgASgOMh8ub3BlbmZsb3dfMTMub2ZwX211bHRpcGFydF90eXBlUgR0eXBlEhQKBWZsYWdzGAIgASgNUgVmbGFncxISCgRib2R5GAMgASgMUgRib2R5InQKE29mcF9tdWx0aXBhcnRfcmVwbHkSMwoEdHlwZRgBIAEoDjIfLm9wZW5mbG93XzEzLm9mcF9tdWx0aXBhcnRfdHlwZVIEdHlwZRIUCgVmbGFncxgCIAEoDVIFZmxhZ3MSEgoEYm9keRgDIAEoDFIEYm9keSKPAQoIb2ZwX2Rlc2MSGQoIbWZyX2Rlc2MYASABKAlSB21mckRlc2MSFwoHaHdfZGVzYxgCIAEoCVIGaHdEZXNjEhcKB3N3X2Rlc2MYAyABKAlSBnN3RGVzYxIdCgpzZXJpYWxfbnVtGAQgASgJUglzZXJpYWxOdW0SFwoHZHBfZGVzYxgFIAEoCVIGZHBEZXNjItIBChZvZnBfZmxvd19zdGF0c19yZXF1ZXN0EhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkEhkKCG91dF9wb3J0GAIgASgNUgdvdXRQb3J0EhsKCW91dF9ncm91cBgDIAEoDVIIb3V0R3JvdXASFgoGY29va2llGAQgASgEUgZjb29raWUSHwoLY29va2llX21hc2sYBSABKARSCmNvb2tpZU1hc2sSLAoFbWF0Y2gYBiABKAsyFi5vcGVuZmxvd18xMy5vZnBfbWF0Y2hSBW1hdGNoIsUDCg5vZnBfZmxvd19zdGF0cxIOCgJpZBgOIAEoBFICaWQSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSIQoMZHVyYXRpb25fc2VjGAIgASgNUgtkdXJhdGlvblNlYxIjCg1kdXJhdGlvbl9uc2VjGAMgASgNUgxkdXJhdGlvbk5zZWMSGgoIcHJpb3JpdHkYBCABKA1SCHByaW9yaXR5EiEKDGlkbGVfdGltZW91dBgFIAEoDVILaWRsZVRpbWVvdXQSIQoMaGFyZF90aW1lb3V0GAYgASgNUgtoYXJkVGltZW91dBIUCgVmbGFncxgHIAEoDVIFZmxhZ3MSFgoGY29va2llGAggASgEUgZjb29raWUSIQoMcGFja2V0X2NvdW50GAkgASgEUgtwYWNrZXRDb3VudBIdCgpieXRlX2NvdW50GAogASgEUglieXRlQ291bnQSLAoFbWF0Y2gYDCABKAsyFi5vcGVuZmxvd18xMy5vZnBfbWF0Y2hSBW1hdGNoEkAKDGluc3RydWN0aW9ucxgNIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvblIMaW5zdHJ1Y3Rpb25zItcBChtvZnBfYWdncmVnYXRlX3N0YXRzX3JlcXVlc3QSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSGQoIb3V0X3BvcnQYAiABKA1SB291dFBvcnQSGwoJb3V0X2dyb3VwGAMgASgNUghvdXRHcm91cBIWCgZjb29raWUYBCABKARSBmNvb2tpZRIfCgtjb29raWVfbWFzaxgFIAEoBFIKY29va2llTWFzaxIsCgVtYXRjaBgGIAEoCzIWLm9wZW5mbG93XzEzLm9mcF9tYXRjaFIFbWF0Y2gifAoZb2ZwX2FnZ3JlZ2F0ZV9zdGF0c19yZXBseRIhCgxwYWNrZXRfY291bnQYASABKARSC3BhY2tldENvdW50Eh0KCmJ5dGVfY291bnQYAiABKARSCWJ5dGVDb3VudBIdCgpmbG93X2NvdW50GAMgASgNUglmbG93Q291bnQi7QMKGm9mcF90YWJsZV9mZWF0dXJlX3Byb3BlcnR5EjwKBHR5cGUYASABKA4yKC5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX3R5cGVSBHR5cGUSVgoMaW5zdHJ1Y3Rpb25zGAIgASgLMjAub3BlbmZsb3dfMTMub2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9pbnN0cnVjdGlvbnNIAFIMaW5zdHJ1Y3Rpb25zElIKC25leHRfdGFibGVzGAMgASgLMi8ub3BlbmZsb3dfMTMub2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9uZXh0X3RhYmxlc0gAUgpuZXh0VGFibGVzEkcKB2FjdGlvbnMYBCABKAsyKy5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX2FjdGlvbnNIAFIHYWN0aW9ucxI7CgNveG0YBSABKAsyJy5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX294bUgAUgNveG0SVgoMZXhwZXJpbWVudGVyGAYgASgLMjAub3BlbmZsb3dfMTMub2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9leHBlcmltZW50ZXJIAFIMZXhwZXJpbWVudGVyQgcKBXZhbHVlImcKI29mcF90YWJsZV9mZWF0dXJlX3Byb3BfaW5zdHJ1Y3Rpb25zEkAKDGluc3RydWN0aW9ucxgBIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvblIMaW5zdHJ1Y3Rpb25zIkoKIm9mcF90YWJsZV9mZWF0dXJlX3Byb3BfbmV4dF90YWJsZXMSJAoObmV4dF90YWJsZV9pZHMYASADKA1SDG5leHRUYWJsZUlkcyJTCh5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX2FjdGlvbnMSMQoHYWN0aW9ucxgBIAMoCzIXLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25SB2FjdGlvbnMiNQoab2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9veG0SFwoHb3htX2lkcxgDIAMoDVIGb3htSWRzIpEBCiNvZnBfdGFibGVfZmVhdHVyZV9wcm9wX2V4cGVyaW1lbnRlchIiCgxleHBlcmltZW50ZXIYAiABKA1SDGV4cGVyaW1lbnRlchIZCghleHBfdHlwZRgDIAEoDVIHZXhwVHlwZRIrChFleHBlcmltZW50ZXJfZGF0YRgEIAMoDVIQZXhwZXJpbWVudGVyRGF0YSKTAgoSb2ZwX3RhYmxlX2ZlYXR1cmVzEhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkEhIKBG5hbWUYAiABKAlSBG5hbWUSJQoObWV0YWRhdGFfbWF0Y2gYAyABKARSDW1ldGFkYXRhTWF0Y2gSJQoObWV0YWRhdGFfd3JpdGUYBCABKARSDW1ldGFkYXRhV3JpdGUSFgoGY29uZmlnGAUgASgNUgZjb25maWcSHwoLbWF4X2VudHJpZXMYBiABKA1SCm1heEVudHJpZXMSRwoKcHJvcGVydGllcxgHIAMoCzInLm9wZW5mbG93XzEzLm9mcF90YWJsZV9mZWF0dXJlX3Byb3BlcnR5Ugpwcm9wZXJ0aWVzIpcBCg9vZnBfdGFibGVfc3RhdHMSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSIQoMYWN0aXZlX2NvdW50GAIgASgNUgthY3RpdmVDb3VudBIhCgxsb29rdXBfY291bnQYAyABKARSC2xvb2t1cENvdW50EiMKDW1hdGNoZWRfY291bnQYBCABKARSDG1hdGNoZWRDb3VudCIxChZvZnBfcG9ydF9zdGF0c19yZXF1ZXN0EhcKB3BvcnRfbm8YASABKA1SBnBvcnRObyLdAwoOb2ZwX3BvcnRfc3RhdHMSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEh0KCnJ4X3BhY2tldHMYAiABKARSCXJ4UGFja2V0cxIdCgp0eF9wYWNrZXRzGAMgASgEUgl0eFBhY2tldHMSGQoIcnhfYnl0ZXMYBCABKARSB3J4Qnl0ZXMSGQoIdHhfYnl0ZXMYBSABKARSB3R4Qnl0ZXMSHQoKcnhfZHJvcHBlZBgGIAEoBFIJcnhEcm9wcGVkEh0KCnR4X2Ryb3BwZWQYByABKARSCXR4RHJvcHBlZBIbCglyeF9lcnJvcnMYCCABKARSCHJ4RXJyb3JzEhsKCXR4X2Vycm9ycxgJIAEoBFIIdHhFcnJvcnMSIAoMcnhfZnJhbWVfZXJyGAogASgEUgpyeEZyYW1lRXJyEh4KC3J4X292ZXJfZXJyGAsgASgEUglyeE92ZXJFcnISHAoKcnhfY3JjX2VychgMIAEoBFIIcnhDcmNFcnISHgoKY29sbGlzaW9ucxgNIAEoBFIKY29sbGlzaW9ucxIhCgxkdXJhdGlvbl9zZWMYDiABKA1SC2R1cmF0aW9uU2VjEiMKDWR1cmF0aW9uX25zZWMYDyABKA1SDGR1cmF0aW9uTnNlYyI0ChdvZnBfZ3JvdXBfc3RhdHNfcmVxdWVzdBIZCghncm91cF9pZBgBIAEoDVIHZ3JvdXBJZCJWChJvZnBfYnVja2V0X2NvdW50ZXISIQoMcGFja2V0X2NvdW50GAEgASgEUgtwYWNrZXRDb3VudBIdCgpieXRlX2NvdW50GAIgASgEUglieXRlQ291bnQilwIKD29mcF9ncm91cF9zdGF0cxIZCghncm91cF9pZBgBIAEoDVIHZ3JvdXBJZBIbCglyZWZfY291bnQYAiABKA1SCHJlZkNvdW50EiEKDHBhY2tldF9jb3VudBgDIAEoBFILcGFja2V0Q291bnQSHQoKYnl0ZV9jb3VudBgEIAEoBFIJYnl0ZUNvdW50EiEKDGR1cmF0aW9uX3NlYxgFIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgGIAEoDVIMZHVyYXRpb25Oc2VjEkIKDGJ1Y2tldF9zdGF0cxgHIAMoCzIfLm9wZW5mbG93XzEzLm9mcF9idWNrZXRfY291bnRlclILYnVja2V0U3RhdHMijwEKDm9mcF9ncm91cF9kZXNjEi8KBHR5cGUYASABKA4yGy5vcGVuZmxvd18xMy5vZnBfZ3JvdXBfdHlwZVIEdHlwZRIZCghncm91cF9pZBgCIAEoDVIHZ3JvdXBJZBIxCgdidWNrZXRzGAMgAygLMhcub3BlbmZsb3dfMTMub2ZwX2J1Y2tldFIHYnVja2V0cyJ2Cg9vZnBfZ3JvdXBfZW50cnkSLwoEZGVzYxgBIAEoCzIbLm9wZW5mbG93XzEzLm9mcF9ncm91cF9kZXNjUgRkZXNjEjIKBXN0YXRzGAIgASgLMhwub3BlbmZsb3dfMTMub2ZwX2dyb3VwX3N0YXRzUgVzdGF0cyKHAQoSb2ZwX2dyb3VwX2ZlYXR1cmVzEhQKBXR5cGVzGAEgASgNUgV0eXBlcxIiCgxjYXBhYmlsaXRpZXMYAiABKA1SDGNhcGFiaWxpdGllcxIdCgptYXhfZ3JvdXBzGAMgAygNUgltYXhHcm91cHMSGAoHYWN0aW9ucxgEIAMoDVIHYWN0aW9ucyI4ChtvZnBfbWV0ZXJfbXVsdGlwYXJ0X3JlcXVlc3QSGQoIbWV0ZXJfaWQYASABKA1SB21ldGVySWQiagoUb2ZwX21ldGVyX2JhbmRfc3RhdHMSKgoRcGFja2V0X2JhbmRfY291bnQYASABKARSD3BhY2tldEJhbmRDb3VudBImCg9ieXRlX2JhbmRfY291bnQYAiABKARSDWJ5dGVCYW5kQ291bnQioQIKD29mcF9tZXRlcl9zdGF0cxIZCghtZXRlcl9pZBgBIAEoDVIHbWV0ZXJJZBIdCgpmbG93X2NvdW50GAIgASgNUglmbG93Q291bnQSJgoPcGFja2V0X2luX2NvdW50GAMgASgEUg1wYWNrZXRJbkNvdW50EiIKDWJ5dGVfaW5fY291bnQYBCABKARSC2J5dGVJbkNvdW50EiEKDGR1cmF0aW9uX3NlYxgFIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgGIAEoDVIMZHVyYXRpb25Oc2VjEkAKCmJhbmRfc3RhdHMYByADKAsyIS5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfYmFuZF9zdGF0c1IJYmFuZFN0YXRzIn0KEG9mcF9tZXRlcl9jb25maWcSFAoFZmxhZ3MYASABKA1SBWZsYWdzEhkKCG1ldGVyX2lkGAIgASgNUgdtZXRlcklkEjgKBWJhbmRzGAMgAygLMiIub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfaGVhZGVyUgViYW5kcyKuAQoSb2ZwX21ldGVyX2ZlYXR1cmVzEhsKCW1heF9tZXRlchgBIAEoDVIIbWF4TWV0ZXISHQoKYmFuZF90eXBlcxgCIAEoDVIJYmFuZFR5cGVzEiIKDGNhcGFiaWxpdGllcxgDIAEoDVIMY2FwYWJpbGl0aWVzEhsKCW1heF9iYW5kcxgEIAEoDVIIbWF4QmFuZHMSGwoJbWF4X2NvbG9yGAUgASgNUghtYXhDb2xvciJ8Cg9vZnBfbWV0ZXJfZW50cnkSNQoGY29uZmlnGAEgASgLMh0ub3BlbmZsb3dfMTMub2ZwX21ldGVyX2NvbmZpZ1IGY29uZmlnEjIKBXN0YXRzGAIgASgLMhwub3BlbmZsb3dfMTMub2ZwX21ldGVyX3N0YXRzUgVzdGF0cyJ2CiFvZnBfZXhwZXJpbWVudGVyX211bHRpcGFydF9oZWFkZXISIgoMZXhwZXJpbWVudGVyGAEgASgNUgxleHBlcmltZW50ZXISGQoIZXhwX3R5cGUYAiABKA1SB2V4cFR5cGUSEgoEZGF0YRgDIAEoDFIEZGF0YSJsChdvZnBfZXhwZXJpbWVudGVyX2hlYWRlchIiCgxleHBlcmltZW50ZXIYASABKA1SDGV4cGVyaW1lbnRlchIZCghleHBfdHlwZRgCIAEoDVIHZXhwVHlwZRISCgRkYXRhGAMgASgMUgRkYXRhIkUKFW9mcF9xdWV1ZV9wcm9wX2hlYWRlchIaCghwcm9wZXJ0eRgBIAEoDVIIcHJvcGVydHkSEAoDbGVuGAIgASgNUgNsZW4icgoXb2ZwX3F1ZXVlX3Byb3BfbWluX3JhdGUSQwoLcHJvcF9oZWFkZXIYASABKAsyIi5vcGVuZmxvd18xMy5vZnBfcXVldWVfcHJvcF9oZWFkZXJSCnByb3BIZWFkZXISEgoEcmF0ZRgCIAEoDVIEcmF0ZSJyChdvZnBfcXVldWVfcHJvcF9tYXhfcmF0ZRJDCgtwcm9wX2hlYWRlchgBIAEoCzIiLm9wZW5mbG93XzEzLm9mcF9xdWV1ZV9wcm9wX2hlYWRlclIKcHJvcEhlYWRlchISCgRyYXRlGAIgASgNUgRyYXRlIpoBChtvZnBfcXVldWVfcHJvcF9leHBlcmltZW50ZXISQwoLcHJvcF9oZWFkZXIYASABKAsyIi5vcGVuZmxvd18xMy5vZnBfcXVldWVfcHJvcF9oZWFkZXJSCnByb3BIZWFkZXISIgoMZXhwZXJpbWVudGVyGAIgASgNUgxleHBlcmltZW50ZXISEgoEZGF0YRgDIAEoDFIEZGF0YSKFAQoQb2ZwX3BhY2tldF9xdWV1ZRIZCghxdWV1ZV9pZBgBIAEoDVIHcXVldWVJZBISCgRwb3J0GAIgASgNUgRwb3J0EkIKCnByb3BlcnRpZXMYBCADKAsyIi5vcGVuZmxvd18xMy5vZnBfcXVldWVfcHJvcF9oZWFkZXJSCnByb3BlcnRpZXMiMgocb2ZwX3F1ZXVlX2dldF9jb25maWdfcmVxdWVzdBISCgRwb3J0GAEgASgNUgRwb3J0ImcKGm9mcF9xdWV1ZV9nZXRfY29uZmlnX3JlcGx5EhIKBHBvcnQYASABKA1SBHBvcnQSNQoGcXVldWVzGAIgAygLMh0ub3BlbmZsb3dfMTMub2ZwX3BhY2tldF9xdWV1ZVIGcXVldWVzIkUKFG9mcF9hY3Rpb25fc2V0X3F1ZXVlEhIKBHR5cGUYASABKA1SBHR5cGUSGQoIcXVldWVfaWQYAyABKA1SB3F1ZXVlSWQiTQoXb2ZwX3F1ZXVlX3N0YXRzX3JlcXVlc3QSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEhkKCHF1ZXVlX2lkGAIgASgNUgdxdWV1ZUlkIuQBCg9vZnBfcXVldWVfc3RhdHMSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEhkKCHF1ZXVlX2lkGAIgASgNUgdxdWV1ZUlkEhkKCHR4X2J5dGVzGAMgASgEUgd0eEJ5dGVzEh0KCnR4X3BhY2tldHMYBCABKARSCXR4UGFja2V0cxIbCgl0eF9lcnJvcnMYBSABKARSCHR4RXJyb3JzEiEKDGR1cmF0aW9uX3NlYxgGIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgHIAEoDVIMZHVyYXRpb25Oc2VjIm0KEG9mcF9yb2xlX3JlcXVlc3QSNAoEcm9sZRgBIAEoDjIgLm9wZW5mbG93XzEzLm9mcF9jb250cm9sbGVyX3JvbGVSBHJvbGUSIwoNZ2VuZXJhdGlvbl9pZBgCIAEoBFIMZ2VuZXJhdGlvbklkIo4BChBvZnBfYXN5bmNfY29uZmlnEiQKDnBhY2tldF9pbl9tYXNrGAEgAygNUgxwYWNrZXRJbk1hc2sSKAoQcG9ydF9zdGF0dXNfbWFzaxgCIAMoDVIOcG9ydFN0YXR1c01hc2sSKgoRZmxvd19yZW1vdmVkX21hc2sYAyADKA1SD2Zsb3dSZW1vdmVkTWFzayJrCg5NZXRlck1vZFVwZGF0ZRIOCgJpZBgBIAEoCVICaWQSNwoJbWV0ZXJfbW9kGAIgASgLMhoub3BlbmZsb3dfMTMub2ZwX21ldGVyX21vZFIIbWV0ZXJNb2QSEAoDeGlkGAMgASgNUgN4aWQiUAoPTWV0ZXJTdGF0c1JlcGx5Ej0KC21ldGVyX3N0YXRzGAEgAygLMhwub3BlbmZsb3dfMTMub2ZwX21ldGVyX3N0YXRzUgptZXRlclN0YXRzImkKD0Zsb3dUYWJsZVVwZGF0ZRIOCgJpZBgBIAEoCVICaWQSNAoIZmxvd19tb2QYAiABKAsyGS5vcGVuZmxvd18xMy5vZnBfZmxvd19tb2RSB2Zsb3dNb2QSEAoDeGlkGAMgASgNUgN4aWQicQoURmxvd0dyb3VwVGFibGVVcGRhdGUSDgoCaWQYASABKAlSAmlkEjcKCWdyb3VwX21vZBgCIAEoCzIaLm9wZW5mbG93XzEzLm9mcF9ncm91cF9tb2RSCGdyb3VwTW9kEhAKA3hpZBgDIAEoDVIDeGlkIjoKBUZsb3dzEjEKBWl0ZW1zGAEgAygLMhsub3BlbmZsb3dfMTMub2ZwX2Zsb3dfc3RhdHNSBWl0ZW1zIjwKBk1ldGVycxIyCgVpdGVtcxgBIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9tZXRlcl9lbnRyeVIFaXRlbXMiQAoKRmxvd0dyb3VwcxIyCgVpdGVtcxgBIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9ncm91cF9lbnRyeVIFaXRlbXMiaQoLRmxvd0NoYW5nZXMSKQoGdG9fYWRkGAEgASgLMhIub3BlbmZsb3dfMTMuRmxvd3NSBXRvQWRkEi8KCXRvX3JlbW92ZRgCIAEoCzISLm9wZW5mbG93XzEzLkZsb3dzUgh0b1JlbW92ZSKuAQoQRmxvd0dyb3VwQ2hhbmdlcxIuCgZ0b19hZGQYASABKAsyFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzUgV0b0FkZBI0Cgl0b19yZW1vdmUYAiABKAsyFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzUgh0b1JlbW92ZRI0Cgl0b191cGRhdGUYAyABKAsyFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzUgh0b1VwZGF0ZSJTCghQYWNrZXRJbhIOCgJpZBgBIAEoCVICaWQSNwoJcGFja2V0X2luGAIgASgLMhoub3BlbmZsb3dfMTMub2ZwX3BhY2tldF9pblIIcGFja2V0SW4iVwoJUGFja2V0T3V0Eg4KAmlkGAEgASgJUgJpZBI6CgpwYWNrZXRfb3V0GAIgASgLMhsub3BlbmZsb3dfMTMub2ZwX3BhY2tldF9vdXRSCXBhY2tldE91dCLiAQoLQ2hhbmdlRXZlbnQSDgoCaWQYASABKAlSAmlkEj8KC3BvcnRfc3RhdHVzGAIgASgLMhwub3BlbmZsb3dfMTMub2ZwX3BvcnRfc3RhdHVzSABSCnBvcnRTdGF0dXMSMgoFZXJyb3IYAyABKAsyGi5vcGVuZmxvd18xMy5vZnBfZXJyb3JfbXNnSABSBWVycm9yEkUKDWRldmljZV9zdGF0dXMYBCABKAsyHi5vcGVuZmxvd18xMy5vZnBfZGV2aWNlX3N0YXR1c0gAUgxkZXZpY2VTdGF0dXNCBwoFZXZlbnQiRQoMRmxvd01ldGFkYXRhEjUKBm1ldGVycxgBIAMoCzIdLm9wZW5mbG93XzEzLm9mcF9tZXRlcl9jb25maWdSBm1ldGVycyrVAQoLb2ZwX3BvcnRfbm8SEAoMT0ZQUF9JTlZBTElEEAASEAoIT0ZQUF9NQVgQgP7//wcSFAoMT0ZQUF9JTl9QT1JUEPj///8HEhIKCk9GUFBfVEFCTEUQ+f///wcSEwoLT0ZQUF9OT1JNQUwQ+v///wcSEgoKT0ZQUF9GTE9PRBD7////BxIQCghPRlBQX0FMTBD8////BxIXCg9PRlBQX0NPTlRST0xMRVIQ/f///wcSEgoKT0ZQUF9MT0NBTBD+////BxIQCghPRlBQX0FOWRD/////ByrIBQoIb2ZwX3R5cGUSDgoKT0ZQVF9IRUxMTxAAEg4KCk9GUFRfRVJST1IQARIVChFPRlBUX0VDSE9fUkVRVUVTVBACEhMKD09GUFRfRUNIT19SRVBMWRADEhUKEU9GUFRfRVhQRVJJTUVOVEVSEAQSGQoVT0ZQVF9GRUFUVVJFU19SRVFVRVNUEAUSFwoTT0ZQVF9GRUFUVVJFU19SRVBMWRAGEhsKF09GUFRfR0VUX0NPTkZJR19SRVFVRVNUEAcSGQoVT0ZQVF9HRVRfQ09ORklHX1JFUExZEAgSEwoPT0ZQVF9TRVRfQ09ORklHEAkSEgoOT0ZQVF9QQUNLRVRfSU4QChIVChFPRlBUX0ZMT1dfUkVNT1ZFRBALEhQKEE9GUFRfUE9SVF9TVEFUVVMQDBITCg9PRlBUX1BBQ0tFVF9PVVQQDRIRCg1PRlBUX0ZMT1dfTU9EEA4SEgoOT0ZQVF9HUk9VUF9NT0QQDxIRCg1PRlBUX1BPUlRfTU9EEBASEgoOT0ZQVF9UQUJMRV9NT0QQERIaChZPRlBUX01VTFRJUEFSVF9SRVFVRVNUEBISGAoUT0ZQVF9NVUxUSVBBUlRfUkVQTFkQExIYChRPRlBUX0JBUlJJRVJfUkVRVUVTVBAUEhYKEk9GUFRfQkFSUklFUl9SRVBMWRAVEiEKHU9GUFRfUVVFVUVfR0VUX0NPTkZJR19SRVFVRVNUEBYSHwobT0ZQVF9RVUVVRV9HRVRfQ09ORklHX1JFUExZEBcSFQoRT0ZQVF9ST0xFX1JFUVVFU1QQGBITCg9PRlBUX1JPTEVfUkVQTFkQGRIaChZPRlBUX0dFVF9BU1lOQ19SRVFVRVNUEBoSGAoUT0ZQVF9HRVRfQVNZTkNfUkVQTFkQGxISCg5PRlBUX1NFVF9BU1lOQxAcEhIKDk9GUFRfTUVURVJfTU9EEB0qQwoTb2ZwX2hlbGxvX2VsZW1fdHlwZRISCg5PRlBIRVRfSU5WQUxJRBAAEhgKFE9GUEhFVF9WRVJTSU9OQklUTUFQEAEqZQoQb2ZwX2NvbmZpZ19mbGFncxIUChBPRlBDX0ZSQUdfTk9STUFMEAASEgoOT0ZQQ19GUkFHX0RST1AQARITCg9PRlBDX0ZSQUdfUkVBU00QAhISCg5PRlBDX0ZSQUdfTUFTSxADKkAKEG9mcF90YWJsZV9jb25maWcSEQoNT0ZQVENfSU5WQUxJRBAAEhkKFU9GUFRDX0RFUFJFQ0FURURfTUFTSxADKj4KCW9mcF90YWJsZRIRCg1PRlBUVF9JTlZBTElEEAASDgoJT0ZQVFRfTUFYEP4BEg4KCU9GUFRUX0FMTBD/ASq7AQoQb2ZwX2NhcGFiaWxpdGllcxIQCgxPRlBDX0lOVkFMSUQQABITCg9PRlBDX0ZMT1dfU1RBVFMQARIUChBPRlBDX1RBQkxFX1NUQVRTEAISEwoPT0ZQQ19QT1JUX1NUQVRTEAQSFAoQT0ZQQ19HUk9VUF9TVEFUUxAIEhEKDU9GUENfSVBfUkVBU00QIBIUChBPRlBDX1FVRVVFX1NUQVRTEEASFgoRT0ZQQ19QT1JUX0JMT0NLRUQQgAIqdgoPb2ZwX3BvcnRfY29uZmlnEhEKDU9GUFBDX0lOVkFMSUQQABITCg9PRlBQQ19QT1JUX0RPV04QARIRCg1PRlBQQ19OT19SRUNWEAQSEAoMT0ZQUENfTk9fRldEECASFgoST0ZQUENfTk9fUEFDS0VUX0lOEEAqWwoOb2ZwX3BvcnRfc3RhdGUSEQoNT0ZQUFNfSU5WQUxJRBAAEhMKD09GUFBTX0xJTktfRE9XThABEhEKDU9GUFBTX0JMT0NLRUQQAhIOCgpPRlBQU19MSVZFEAQq3QIKEW9mcF9wb3J0X2ZlYXR1cmVzEhEKDU9GUFBGX0lOVkFMSUQQABIRCg1PRlBQRl8xME1CX0hEEAESEQoNT0ZQUEZfMTBNQl9GRBACEhIKDk9GUFBGXzEwME1CX0hEEAQSEgoOT0ZQUEZfMTAwTUJfRkQQCBIQCgxPRlBQRl8xR0JfSEQQEBIQCgxPRlBQRl8xR0JfRkQQIBIRCg1PRlBQRl8xMEdCX0ZEEEASEgoNT0ZQUEZfNDBHQl9GRBCAARITCg5PRlBQRl8xMDBHQl9GRBCAAhIRCgxPRlBQRl8xVEJfRkQQgAQSEAoLT0ZQUEZfT1RIRVIQgAgSEQoMT0ZQUEZfQ09QUEVSEIAQEhAKC09GUFBGX0ZJQkVSEIAgEhIKDU9GUFBGX0FVVE9ORUcQgEASEQoLT0ZQUEZfUEFVU0UQgIABEhYKEE9GUFBGX1BBVVNFX0FTWU0QgIACKkQKD29mcF9wb3J0X3JlYXNvbhINCglPRlBQUl9BREQQABIQCgxPRlBQUl9ERUxFVEUQARIQCgxPRlBQUl9NT0RJRlkQAipGChVvZnBfZGV2aWNlX2Nvbm5lY3Rpb24SFAoQT0ZQREVWX0NPTk5FQ1RFRBAAEhcKE09GUERFVl9ESVNDT05ORUNURUQQASozCg5vZnBfbWF0Y2hfdHlwZRISCg5PRlBNVF9TVEFOREFSRBAAEg0KCU9GUE1UX09YTRABKmsKDW9mcF9veG1fY2xhc3MSEAoMT0ZQWE1DX05YTV8wEAASEAoMT0ZQWE1DX05YTV8xEAESGwoVT0ZQWE1DX09QRU5GTE9XX0JBU0lDEICAAhIZChNPRlBYTUNfRVhQRVJJTUVOVEVSEP//AyqQCAoTb3htX29mYl9maWVsZF90eXBlcxIWChJPRlBYTVRfT0ZCX0lOX1BPUlQQABIaChZPRlBYTVRfT0ZCX0lOX1BIWV9QT1JUEAESFwoTT0ZQWE1UX09GQl9NRVRBREFUQRACEhYKEk9GUFhNVF9PRkJfRVRIX0RTVBADEhYKEk9GUFhNVF9PRkJfRVRIX1NSQxAEEhcKE09GUFhNVF9PRkJfRVRIX1RZUEUQBRIXChNPRlBYTVRfT0ZCX1ZMQU5fVklEEAYSFwoTT0ZQWE1UX09GQl9WTEFOX1BDUBAHEhYKEk9GUFhNVF9PRkJfSVBfRFNDUBAIEhUKEU9GUFhNVF9PRkJfSVBfRUNOEAkSFwoTT0ZQWE1UX09GQl9JUF9QUk9UTxAKEhcKE09GUFhNVF9PRkJfSVBWNF9TUkMQCxIXChNPRlBYTVRfT0ZCX0lQVjRfRFNUEAwSFgoST0ZQWE1UX09GQl9UQ1BfU1JDEA0SFgoST0ZQWE1UX09GQl9UQ1BfRFNUEA4SFgoST0ZQWE1UX09GQl9VRFBfU1JDEA8SFgoST0ZQWE1UX09GQl9VRFBfRFNUEBASFwoTT0ZQWE1UX09GQl9TQ1RQX1NSQxAREhcKE09GUFhNVF9PRkJfU0NUUF9EU1QQEhIaChZPRlBYTVRfT0ZCX0lDTVBWNF9UWVBFEBMSGgoWT0ZQWE1UX09GQl9JQ01QVjRfQ09ERRAUEhUKEU9GUFhNVF9PRkJfQVJQX09QEBUSFgoST0ZQWE1UX09GQl9BUlBfU1BBEBYSFgoST0ZQWE1UX09GQl9BUlBfVFBBEBcSFgoST0ZQWE1UX09GQl9BUlBfU0hBEBgSFgoST0ZQWE1UX09GQl9BUlBfVEhBEBkSFwoTT0ZQWE1UX09GQl9JUFY2X1NSQxAaEhcKE09GUFhNVF9PRkJfSVBWNl9EU1QQGxIaChZPRlBYTVRfT0ZCX0lQVjZfRkxBQkVMEBwSGgoWT0ZQWE1UX09GQl9JQ01QVjZfVFlQRRAdEhoKFk9GUFhNVF9PRkJfSUNNUFY2X0NPREUQHhIdChlPRlBYTVRfT0ZCX0lQVjZfTkRfVEFSR0VUEB8SGgoWT0ZQWE1UX09GQl9JUFY2X05EX1NMTBAgEhoKFk9GUFhNVF9PRkJfSVBWNl9ORF9UTEwQIRIZChVPRlBYTVRfT0ZCX01QTFNfTEFCRUwQIhIWChJPRlBYTVRfT0ZCX01QTFNfVEMQIxIXChNPRlBYTVRfT0ZCX01QTFNfQk9TECQSFwoTT0ZQWE1UX09GQl9QQkJfSVNJRBAlEhgKFE9GUFhNVF9PRkJfVFVOTkVMX0lEECYSGgoWT0ZQWE1UX09GQl9JUFY2X0VYVEhEUhAnKjMKC29mcF92bGFuX2lkEg8KC09GUFZJRF9OT05FEAASEwoOT0ZQVklEX1BSRVNFTlQQgCAqyQEKFG9mcF9pcHY2ZXh0aGRyX2ZsYWdzEhIKDk9GUElFSF9JTlZBTElEEAASEQoNT0ZQSUVIX05PTkVYVBABEg4KCk9GUElFSF9FU1AQAhIPCgtPRlBJRUhfQVVUSBAEEg8KC09GUElFSF9ERVNUEAgSDwoLT0ZQSUVIX0ZSQUcQEBIRCg1PRlBJRUhfUk9VVEVSECASDgoKT0ZQSUVIX0hPUBBAEhEKDE9GUElFSF9VTlJFUBCAARIRCgxPRlBJRUhfVU5TRVEQgAIq/AIKD29mcF9hY3Rpb25fdHlwZRIQCgxPRlBBVF9PVVRQVVQQABIWChJPRlBBVF9DT1BZX1RUTF9PVVQQCxIVChFPRlBBVF9DT1BZX1RUTF9JThAMEhYKEk9GUEFUX1NFVF9NUExTX1RUTBAPEhYKEk9GUEFUX0RFQ19NUExTX1RUTBAQEhMKD09GUEFUX1BVU0hfVkxBThAREhIKDk9GUEFUX1BPUF9WTEFOEBISEwoPT0ZQQVRfUFVTSF9NUExTEBMSEgoOT0ZQQVRfUE9QX01QTFMQFBITCg9PRlBBVF9TRVRfUVVFVUUQFRIPCgtPRlBBVF9HUk9VUBAWEhQKEE9GUEFUX1NFVF9OV19UVEwQFxIUChBPRlBBVF9ERUNfTldfVFRMEBgSEwoPT0ZQQVRfU0VUX0ZJRUxEEBkSEgoOT0ZQQVRfUFVTSF9QQkIQGhIRCg1PRlBBVF9QT1BfUEJCEBsSGAoST0ZQQVRfRVhQRVJJTUVOVEVSEP//AypWChZvZnBfY29udHJvbGxlcl9tYXhfbGVuEhIKDk9GUENNTF9JTlZBTElEEAASEAoKT0ZQQ01MX01BWBDl/wMSFgoQT0ZQQ01MX05PX0JVRkZFUhD//wMqzwEKFG9mcF9pbnN0cnVjdGlvbl90eXBlEhEKDU9GUElUX0lOVkFMSUQQABIUChBPRlBJVF9HT1RPX1RBQkxFEAESGAoUT0ZQSVRfV1JJVEVfTUVUQURBVEEQAhIXChNPRlBJVF9XUklURV9BQ1RJT05TEAMSFwoTT0ZQSVRfQVBQTFlfQUNUSU9OUxAEEhcKE09GUElUX0NMRUFSX0FDVElPTlMQBRIPCgtPRlBJVF9NRVRFUhAGEhgKEk9GUElUX0VYUEVSSU1FTlRFUhD//wMqewoUb2ZwX2Zsb3dfbW9kX2NvbW1hbmQSDQoJT0ZQRkNfQUREEAASEAoMT0ZQRkNfTU9ESUZZEAESFwoTT0ZQRkNfTU9ESUZZX1NUUklDVBACEhAKDE9GUEZDX0RFTEVURRADEhcKE09GUEZDX0RFTEVURV9TVFJJQ1QQBCqjAQoSb2ZwX2Zsb3dfbW9kX2ZsYWdzEhEKDU9GUEZGX0lOVkFMSUQQABIXChNPRlBGRl9TRU5EX0ZMT1dfUkVNEAESFwoTT0ZQRkZfQ0hFQ0tfT1ZFUkxBUBACEhYKEk9GUEZGX1JFU0VUX0NPVU5UUxAEEhcKE09GUEZGX05PX1BLVF9DT1VOVFMQCBIXChNPRlBGRl9OT19CWVRfQ09VTlRTEBAqUwoJb2ZwX2dyb3VwEhAKDE9GUEdfSU5WQUxJRBAAEhAKCE9GUEdfTUFYEID+//8HEhAKCE9GUEdfQUxMEPz///8HEhAKCE9GUEdfQU5ZEP////8HKkoKFW9mcF9ncm91cF9tb2RfY29tbWFuZBINCglPRlBHQ19BREQQABIQCgxPRlBHQ19NT0RJRlkQARIQCgxPRlBHQ19ERUxFVEUQAipTCg5vZnBfZ3JvdXBfdHlwZRINCglPRlBHVF9BTEwQABIQCgxPRlBHVF9TRUxFQ1QQARISCg5PRlBHVF9JTkRJUkVDVBACEgwKCE9GUEdUX0ZGEAMqUAoUb2ZwX3BhY2tldF9pbl9yZWFzb24SEQoNT0ZQUl9OT19NQVRDSBAAEg8KC09GUFJfQUNUSU9OEAESFAoQT0ZQUl9JTlZBTElEX1RUTBACKosBChdvZnBfZmxvd19yZW1vdmVkX3JlYXNvbhIWChJPRlBSUl9JRExFX1RJTUVPVVQQABIWChJPRlBSUl9IQVJEX1RJTUVPVVQQARIQCgxPRlBSUl9ERUxFVEUQAhIWChJPRlBSUl9HUk9VUF9ERUxFVEUQAxIWChJPRlBSUl9NRVRFUl9ERUxFVEUQBCpuCglvZnBfbWV0ZXISDQoJT0ZQTV9aRVJPEAASEAoIT0ZQTV9NQVgQgID8/wcSFQoNT0ZQTV9TTE9XUEFUSBD9////BxIXCg9PRlBNX0NPTlRST0xMRVIQ/v///wcSEAoIT0ZQTV9BTEwQ/////wcqbQoTb2ZwX21ldGVyX2JhbmRfdHlwZRISCg5PRlBNQlRfSU5WQUxJRBAAEg8KC09GUE1CVF9EUk9QEAESFgoST0ZQTUJUX0RTQ1BfUkVNQVJLEAISGQoTT0ZQTUJUX0VYUEVSSU1FTlRFUhD//wMqSgoVb2ZwX21ldGVyX21vZF9jb21tYW5kEg0KCU9GUE1DX0FERBAAEhAKDE9GUE1DX01PRElGWRABEhAKDE9GUE1DX0RFTEVURRACKmcKD29mcF9tZXRlcl9mbGFncxIRCg1PRlBNRl9JTlZBTElEEAASDgoKT0ZQTUZfS0JQUxABEg8KC09GUE1GX1BLVFBTEAISDwoLT0ZQTUZfQlVSU1QQBBIPCgtPRlBNRl9TVEFUUxAIKqQDCg5vZnBfZXJyb3JfdHlwZRIWChJPRlBFVF9IRUxMT19GQUlMRUQQABIVChFPRlBFVF9CQURfUkVRVUVTVBABEhQKEE9GUEVUX0JBRF9BQ1RJT04QAhIZChVPRlBFVF9CQURfSU5TVFJVQ1RJT04QAxITCg9PRlBFVF9CQURfTUFUQ0gQBBIZChVPRlBFVF9GTE9XX01PRF9GQUlMRUQQBRIaChZPRlBFVF9HUk9VUF9NT0RfRkFJTEVEEAYSGQoVT0ZQRVRfUE9SVF9NT0RfRkFJTEVEEAcSGgoWT0ZQRVRfVEFCTEVfTU9EX0ZBSUxFRBAIEhkKFU9GUEVUX1FVRVVFX09QX0ZBSUxFRBAJEh4KGk9GUEVUX1NXSVRDSF9DT05GSUdfRkFJTEVEEAoSHQoZT0ZQRVRfUk9MRV9SRVFVRVNUX0ZBSUxFRBALEhoKFk9GUEVUX01FVEVSX01PRF9GQUlMRUQQDBIfChtPRlBFVF9UQUJMRV9GRUFUVVJFU19GQUlMRUQQDRIYChJPRlBFVF9FWFBFUklNRU5URVIQ//8DKkIKFW9mcF9oZWxsb19mYWlsZWRfY29kZRIXChNPRlBIRkNfSU5DT01QQVRJQkxFEAASEAoMT0ZQSEZDX0VQRVJNEAEq7QIKFG9mcF9iYWRfcmVxdWVzdF9jb2RlEhYKEk9GUEJSQ19CQURfVkVSU0lPThAAEhMKD09GUEJSQ19CQURfVFlQRRABEhgKFE9GUEJSQ19CQURfTVVMVElQQVJUEAISGwoXT0ZQQlJDX0JBRF9FWFBFUklNRU5URVIQAxIXChNPRlBCUkNfQkFEX0VYUF9UWVBFEAQSEAoMT0ZQQlJDX0VQRVJNEAUSEgoOT0ZQQlJDX0JBRF9MRU4QBhIXChNPRlBCUkNfQlVGRkVSX0VNUFRZEAcSGQoVT0ZQQlJDX0JVRkZFUl9VTktOT1dOEAgSFwoTT0ZQQlJDX0JBRF9UQUJMRV9JRBAJEhMKD09GUEJSQ19JU19TTEFWRRAKEhMKD09GUEJSQ19CQURfUE9SVBALEhUKEU9GUEJSQ19CQURfUEFDS0VUEAwSJAogT0ZQQlJDX01VTFRJUEFSVF9CVUZGRVJfT1ZFUkZMT1cQDSqcAwoTb2ZwX2JhZF9hY3Rpb25fY29kZRITCg9PRlBCQUNfQkFEX1RZUEUQABISCg5PRlBCQUNfQkFEX0xFThABEhsKF09GUEJBQ19CQURfRVhQRVJJTUVOVEVSEAISFwoTT0ZQQkFDX0JBRF9FWFBfVFlQRRADEhcKE09GUEJBQ19CQURfT1VUX1BPUlQQBBIXChNPRlBCQUNfQkFEX0FSR1VNRU5UEAUSEAoMT0ZQQkFDX0VQRVJNEAYSEwoPT0ZQQkFDX1RPT19NQU5ZEAcSFAoQT0ZQQkFDX0JBRF9RVUVVRRAIEhgKFE9GUEJBQ19CQURfT1VUX0dST1VQEAkSHQoZT0ZQQkFDX01BVENIX0lOQ09OU0lTVEVOVBAKEhwKGE9GUEJBQ19VTlNVUFBPUlRFRF9PUkRFUhALEhIKDk9GUEJBQ19CQURfVEFHEAwSFwoTT0ZQQkFDX0JBRF9TRVRfVFlQRRANEhYKEk9GUEJBQ19CQURfU0VUX0xFThAOEhsKF09GUEJBQ19CQURfU0VUX0FSR1VNRU5UEA8q+gEKGG9mcF9iYWRfaW5zdHJ1Y3Rpb25fY29kZRIXChNPRlBCSUNfVU5LTk9XTl9JTlNUEAASFQoRT0ZQQklDX1VOU1VQX0lOU1QQARIXChNPRlBCSUNfQkFEX1RBQkxFX0lEEAISGQoVT0ZQQklDX1VOU1VQX01FVEFEQVRBEAMSHgoaT0ZQQklDX1VOU1VQX01FVEFEQVRBX01BU0sQBBIbChdPRlBCSUNfQkFEX0VYUEVSSU1FTlRFUhAFEhcKE09GUEJJQ19CQURfRVhQX1RZUEUQBhISCg5PRlBCSUNfQkFEX0xFThAHEhAKDE9GUEJJQ19FUEVSTRAIKqUCChJvZnBfYmFkX21hdGNoX2NvZGUSEwoPT0ZQQk1DX0JBRF9UWVBFEAASEgoOT0ZQQk1DX0JBRF9MRU4QARISCg5PRlBCTUNfQkFEX1RBRxACEhsKF09GUEJNQ19CQURfRExfQUREUl9NQVNLEAMSGwoXT0ZQQk1DX0JBRF9OV19BRERSX01BU0sQBBIYChRPRlBCTUNfQkFEX1dJTERDQVJEUxAFEhQKEE9GUEJNQ19CQURfRklFTEQQBhIUChBPRlBCTUNfQkFEX1ZBTFVFEAcSEwoPT0ZQQk1DX0JBRF9NQVNLEAgSFQoRT0ZQQk1DX0JBRF9QUkVSRVEQCRIUChBPRlBCTUNfRFVQX0ZJRUxEEAoSEAoMT0ZQQk1DX0VQRVJNEAsq0gEKGG9mcF9mbG93X21vZF9mYWlsZWRfY29kZRITCg9PRlBGTUZDX1VOS05PV04QABIWChJPRlBGTUZDX1RBQkxFX0ZVTEwQARIYChRPRlBGTUZDX0JBRF9UQUJMRV9JRBACEhMKD09GUEZNRkNfT1ZFUkxBUBADEhEKDU9GUEZNRkNfRVBFUk0QBBIXChNPRlBGTUZDX0JBRF9USU1FT1VUEAUSFwoTT0ZQRk1GQ19CQURfQ09NTUFORBAGEhUKEU9GUEZNRkNfQkFEX0ZMQUdTEAcqoQMKGW9mcF9ncm91cF9tb2RfZmFpbGVkX2NvZGUSGAoUT0ZQR01GQ19HUk9VUF9FWElTVFMQABIZChVPRlBHTUZDX0lOVkFMSURfR1JPVVAQARIeChpPRlBHTUZDX1dFSUdIVF9VTlNVUFBPUlRFRBACEhkKFU9GUEdNRkNfT1VUX09GX0dST1VQUxADEhoKFk9GUEdNRkNfT1VUX09GX0JVQ0tFVFMQBBIgChxPRlBHTUZDX0NIQUlOSU5HX1VOU1VQUE9SVEVEEAUSHQoZT0ZQR01GQ19XQVRDSF9VTlNVUFBPUlRFRBAGEhAKDE9GUEdNRkNfTE9PUBAHEhkKFU9GUEdNRkNfVU5LTk9XTl9HUk9VUBAIEhkKFU9GUEdNRkNfQ0hBSU5FRF9HUk9VUBAJEhQKEE9GUEdNRkNfQkFEX1RZUEUQChIXChNPRlBHTUZDX0JBRF9DT01NQU5EEAsSFgoST0ZQR01GQ19CQURfQlVDS0VUEAwSFQoRT0ZQR01GQ19CQURfV0FUQ0gQDRIRCg1PRlBHTUZDX0VQRVJNEA4qjwEKGG9mcF9wb3J0X21vZF9mYWlsZWRfY29kZRIUChBPRlBQTUZDX0JBRF9QT1JUEAASFwoTT0ZQUE1GQ19CQURfSFdfQUREUhABEhYKEk9GUFBNRkNfQkFEX0NPTkZJRxACEhkKFU9GUFBNRkNfQkFEX0FEVkVSVElTRRADEhEKDU9GUFBNRkNfRVBFUk0QBCpdChlvZnBfdGFibGVfbW9kX2ZhaWxlZF9jb2RlEhUKEU9GUFRNRkNfQkFEX1RBQkxFEAASFgoST0ZQVE1GQ19CQURfQ09ORklHEAESEQoNT0ZQVE1GQ19FUEVSTRACKloKGG9mcF9xdWV1ZV9vcF9mYWlsZWRfY29kZRIUChBPRlBRT0ZDX0JBRF9QT1JUEAASFQoRT0ZQUU9GQ19CQURfUVVFVUUQARIRCg1PRlBRT0ZDX0VQRVJNEAIqXgodb2ZwX3N3aXRjaF9jb25maWdfZmFpbGVkX2NvZGUSFQoRT0ZQU0NGQ19CQURfRkxBR1MQABITCg9PRlBTQ0ZDX0JBRF9MRU4QARIRCg1PRlBTQ0ZDX0VQRVJNEAIqWgocb2ZwX3JvbGVfcmVxdWVzdF9mYWlsZWRfY29kZRIRCg1PRlBSUkZDX1NUQUxFEAASEQoNT0ZQUlJGQ19VTlNVUBABEhQKEE9GUFJSRkNfQkFEX1JPTEUQAirFAgoZb2ZwX21ldGVyX21vZF9mYWlsZWRfY29kZRITCg9PRlBNTUZDX1VOS05PV04QABIYChRPRlBNTUZDX01FVEVSX0VYSVNUUxABEhkKFU9GUE1NRkNfSU5WQUxJRF9NRVRFUhACEhkKFU9GUE1NRkNfVU5LTk9XTl9NRVRFUhADEhcKE09GUE1NRkNfQkFEX0NPTU1BTkQQBBIVChFPRlBNTUZDX0JBRF9GTEFHUxAFEhQKEE9GUE1NRkNfQkFEX1JBVEUQBhIVChFPRlBNTUZDX0JBRF9CVVJTVBAHEhQKEE9GUE1NRkNfQkFEX0JBTkQQCBIbChdPRlBNTUZDX0JBRF9CQU5EX0RFVEFJTBAJEhkKFU9GUE1NRkNfT1VUX09GX01FVEVSUxAKEhgKFE9GUE1NRkNfT1VUX09GX0JBTkRTEAsqqQEKHm9mcF90YWJsZV9mZWF0dXJlc19mYWlsZWRfY29kZRIVChFPRlBURkZDX0JBRF9UQUJMRRAAEhgKFE9GUFRGRkNfQkFEX01FVEFEQVRBEAESFAoQT0ZQVEZGQ19CQURfVFlQRRACEhMKD09GUFRGRkNfQkFEX0xFThADEhgKFE9GUFRGRkNfQkFEX0FSR1VNRU5UEAQSEQoNT0ZQVEZGQ19FUEVSTRAFKs4CChJvZnBfbXVsdGlwYXJ0X3R5cGUSDgoKT0ZQTVBfREVTQxAAEg4KCk9GUE1QX0ZMT1cQARITCg9PRlBNUF9BR0dSRUdBVEUQAhIPCgtPRlBNUF9UQUJMRRADEhQKEE9GUE1QX1BPUlRfU1RBVFMQBBIPCgtPRlBNUF9RVUVVRRAFEg8KC09GUE1QX0dST1VQEAYSFAoQT0ZQTVBfR1JPVVBfREVTQxAHEhgKFE9GUE1QX0dST1VQX0ZFQVRVUkVTEAgSDwoLT0ZQTVBfTUVURVIQCRIWChJPRlBNUF9NRVRFUl9DT05GSUcQChIYChRPRlBNUF9NRVRFUl9GRUFUVVJFUxALEhgKFE9GUE1QX1RBQkxFX0ZFQVRVUkVTEAwSEwoPT0ZQTVBfUE9SVF9ERVNDEA0SGAoST0ZQTVBfRVhQRVJJTUVOVEVSEP//AypKChtvZnBfbXVsdGlwYXJ0X3JlcXVlc3RfZmxhZ3MSFgoST0ZQTVBGX1JFUV9JTlZBTElEEAASEwoPT0ZQTVBGX1JFUV9NT1JFEAEqTAoZb2ZwX211bHRpcGFydF9yZXBseV9mbGFncxIYChRPRlBNUEZfUkVQTFlfSU5WQUxJRBAAEhUKEU9GUE1QRl9SRVBMWV9NT1JFEAEq5AMKG29mcF90YWJsZV9mZWF0dXJlX3Byb3BfdHlwZRIYChRPRlBURlBUX0lOU1RSVUNUSU9OUxAAEh0KGU9GUFRGUFRfSU5TVFJVQ1RJT05TX01JU1MQARIXChNPRlBURlBUX05FWFRfVEFCTEVTEAISHAoYT0ZQVEZQVF9ORVhUX1RBQkxFU19NSVNTEAMSGQoVT0ZQVEZQVF9XUklURV9BQ1RJT05TEAQSHgoaT0ZQVEZQVF9XUklURV9BQ1RJT05TX01JU1MQBRIZChVPRlBURlBUX0FQUExZX0FDVElPTlMQBhIeChpPRlBURlBUX0FQUExZX0FDVElPTlNfTUlTUxAHEhEKDU9GUFRGUFRfTUFUQ0gQCBIVChFPRlBURlBUX1dJTERDQVJEUxAKEhoKFk9GUFRGUFRfV1JJVEVfU0VURklFTEQQDBIfChtPRlBURlBUX1dSSVRFX1NFVEZJRUxEX01JU1MQDRIaChZPRlBURlBUX0FQUExZX1NFVEZJRUxEEA4SHwobT0ZQVEZQVF9BUFBMWV9TRVRGSUVMRF9NSVNTEA8SGgoUT0ZQVEZQVF9FWFBFUklNRU5URVIQ/v8DEh8KGU9GUFRGUFRfRVhQRVJJTUVOVEVSX01JU1MQ//8DKpMBChZvZnBfZ3JvdXBfY2FwYWJpbGl0aWVzEhIKDk9GUEdGQ19JTlZBTElEEAASGAoUT0ZQR0ZDX1NFTEVDVF9XRUlHSFQQARIaChZPRlBHRkNfU0VMRUNUX0xJVkVORVNTEAISEwoPT0ZQR0ZDX0NIQUlOSU5HEAQSGgoWT0ZQR0ZDX0NIQUlOSU5HX0NIRUNLUxAIKmsKFG9mcF9xdWV1ZV9wcm9wZXJ0aWVzEhEKDU9GUFFUX0lOVkFMSUQQABISCg5PRlBRVF9NSU5fUkFURRABEhIKDk9GUFFUX01BWF9SQVRFEAISGAoST0ZQUVRfRVhQRVJJTUVOVEVSEP//AypxChNvZnBfY29udHJvbGxlcl9yb2xlEhcKE09GUENSX1JPTEVfTk9DSEFOR0UQABIUChBPRlBDUl9ST0xFX0VRVUFMEAESFQoRT0ZQQ1JfUk9MRV9NQVNURVIQAhIUChBPRlBDUl9ST0xFX1NMQVZFEANCVQoeb3JnLm9wZW5jb3JkLnZvbHRoYS5vcGVuZmxvdzEzWjNnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vb3BlbmZsb3dfMTNKr7oGCgcSBTkAmRIBCv4UCgEMEgM5ABIa+QYKIFRoaXMgaXMgYSByZWxhdGl2ZWx5IHN0cmFpZ2h0Zm9yd2FyZCByZW5kZXJpbmcgb2YgT3BlbkZsb3cgbWVzc2FnZQogZGVmaW5pdGlvbnMgaW50byBwcm90b2NvbCBidWZmZXIgbWVzc2FnZXMuIFdlIHByZXNlcnZlZCB0aGUgc25ha2UKIGNhc2Ugc3ludGF4LCBhbmQgbWFkZSB0aGUgZm9sbG93aW5nIGNoYW5nZXM6CiAtIGFsbCBwYWQgZmllbGRzIGRyb3BwZWQKIC0gZm9yIGVhY2ggZW51bSB2YWx1ZSBhYm92ZSAweDdmZmZmZmZmIHRoZSBNU0IgaXMgZHJvcHBlZC4gRm9yIGV4YW1wbGUsCiAgIDB4ZmZmZmZmZmYgaXMgbm93IDB4N2ZmZmZmZmYuCiAtICc8dHlwZT4gdGhpbmdbLi4uXScgaXMgcmVwbGFjZWQgd2l0aCAncmVwZWF0ZWQgPHR5cGU+IHRoaW5nJwogLSAnY2hhciB0aGluZ1suLi5dJyBpcyByZXBsYWNlZCB3aXRoICdzdHJpbmcgdGhpbmcnCiAtICd1aW50OF90IGRhdGFbLi4uXScgaXMgcmVwbGFjZWQgd2l0aCAnYnl0ZXMgZGF0YScKIC0gdGhlIGZvbGxvd2luZyBzeXN0ZW1hdGljIGNoYW5nZXMgYXJlIGRvbmUgdG8gdmFyaW91cyBpbnRlZ2VyIHR5cGVzOgogICB1aW50OF90ICAtPiB1aW50MzIKICAgdWludDE2X3QgLT4gdWludDMyCiAgIHVpbnQzMl90IC0+IHVpbnQzMgogICB1aW50NjRfdCAtPiB1aW50NjQKIC0gcmVtb3ZlZCBtb3N0IGxlbmd0aCwgbGVuLCBzaXplIGZpZWxkcyB3aGVyZSB0aGVzZSB2YWx1ZXMgY2FuIGJlIGRldGVybWluZWQKICAgZnJvbSB0aGUgZXhwbGljaXRseSBlbmNvZGVkIGxlbmd0aCBvZiAicmVwZWF0ZWQiIHByb3RvYnVmIGZpZWxkcy4KIC0gZXhwbGljaXQgdXNlIG9mIGVudW0gdHlwZXMgd2hlcmVldmVyIGl0IGlzIHVuYW1iaWdvdXMgKGFuZCBub3QgdXNlZCBhcwogICBiaXRtYXNrL2ZsYWdzIHZhbHVlLgoKMsANIENvcHlyaWdodCAoYykgMjAwOCBUaGUgQm9hcmQgb2YgVHJ1c3RlZXMgb2YgVGhlIExlbGFuZCBTdGFuZm9yZAogSnVuaW9yIFVuaXZlcnNpdHkKIENvcHlyaWdodCAyMDExLTIwMjQgT3BlbiBOZXR3b3JraW5nIEZvdW5kYXRpb24gKE9ORikgYW5kIHRoZSBPTkYgQ29udHJpYnV0b3JzCgogV2UgYXJlIG1ha2luZyB0aGUgT3BlbkZsb3cgc3BlY2lmaWNhdGlvbiBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uCiAoU29mdHdhcmUpIGF2YWlsYWJsZSBmb3IgcHVibGljIHVzZSBhbmQgYmVuZWZpdCB3aXRoIHRoZSBleHBlY3RhdGlvbgogdGhhdCBvdGhlcnMgd2lsbCB1c2UsIG1vZGlmeSBhbmQgZW5oYW5jZSB0aGUgU29mdHdhcmUgYW5kIGNvbnRyaWJ1dGUKIHRob3NlIGVuaGFuY2VtZW50cyBiYWNrIHRvIHRoZSBjb21tdW5pdHkuIEhvd2V2ZXIsIHNpbmNlIHdlIHdvdWxkCiBsaWtlIHRvIG1ha2UgdGhlIFNvZnR3YXJlIGF2YWlsYWJsZSBmb3IgYnJvYWRlc3QgdXNlLCB3aXRoIGFzIGZldwogcmVzdHJpY3Rpb25zIGFzIHBvc3NpYmxlIHBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YKIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgU29mdHdhcmUgdG8gZGVhbCBpbgogdGhlIFNvZnR3YXJlIHVuZGVyIHRoZSBjb3B5cmlnaHRzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvCiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZQogaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECiBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUwogQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOCiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogU09GVFdBUkUuCgogVGhlIG5hbWUgYW5kIHRyYWRlbWFya3Mgb2YgY29weXJpZ2h0IGhvbGRlcihzKSBtYXkgTk9UIGJlIHVzZWQgaW4KIGFkdmVydGlzaW5nIG9yIHB1YmxpY2l0eSBwZXJ0YWluaW5nIHRvIHRoZSBTb2Z0d2FyZSBvciBhbnkKIGRlcml2YXRpdmVzIHdpdGhvdXQgc3BlY2lmaWMsIHdyaXR0ZW4gcHJpb3IgcGVybWlzc2lvbi4KMjUgT3BlbkZsb3c6IHByb3RvY29sIGJldHdlZW4gY29udHJvbGxlciBhbmQgZGF0YXBhdGguIAoICgEIEgM7AEoKCQoCCAsSAzsASgoICgEIEgM8ADcKCQoCCAESAzwANwoICgECEgM+ABQKCQoCAwASA0AAJgqmBAoCBQASBFQAaQEaNSBQb3J0IG51bWJlcmluZy4gUG9ydHMgYXJlIG51bWJlcmVkIHN0YXJ0aW5nIGZyb20gMS4gMmMgVmVyc2lvbiBudW1iZXI6CiBPcGVuRmxvdyB2ZXJzaW9ucyByZWxlYXNlZDogMHgwMSA9IDEuMCA7IDB4MDIgPSAxLjEgOyAweDAzID0gMS4yCiAgICAgMHgwNCA9IDEuMwoyVSBUaGUgbW9zdCBzaWduaWZpY2FudCBiaXQgaW4gdGhlIHZlcnNpb24gZmllbGQgaXMgcmVzZXJ2ZWQgYW5kIG11c3QKIGJlIHNldCB0byB6ZXJvLgoyeiNkZWZpbmUgT0ZQX1ZFUlNJT04gICAweDA0CiNkZWZpbmUgUElQRUxJTkVfVEFCTEVTIDY0CiNkZWZpbmUgT0ZQX01BWF9UQUJMRV9OQU1FX0xFTiAzMgojZGVmaW5lIE9GUF9NQVhfUE9SVF9OQU1FX0xFTiAgMTYKMi0gT2ZmaWNpYWwgSUFOQSByZWdpc3RlcmVkIHBvcnQgZm9yIE9wZW5GbG93LiAyNiNkZWZpbmUgT0ZQX1RDUF9QT1JUICA2NjUzCiNkZWZpbmUgT0ZQX1NTTF9QT1JUICA2NjUzCjJEI2RlZmluZSBPRlBfRVRIX0FMRU4gNiAgICAgICAgICAvKiBCeXRlcyBpbiBhbiBFdGhlcm5ldCBhZGRyZXNzLiAqLwoKCgoDBQABEgNUBRAKCwoEBQACABIDVQQYCgwKBQUAAgABEgNVBBAKDAoFBQACAAISA1UWFwpDCgQFAAIBEgNYBCEaNiBNYXhpbXVtIG51bWJlciBvZiBwaHlzaWNhbCBhbmQgbG9naWNhbCBzd2l0Y2ggcG9ydHMuIAoMCgUFAAIBARIDWAQMCgwKBQUAAgECEgNYFiAKvAEKBAUAAgISA1sEIRovIFJlc2VydmVkIE9wZW5GbG93IFBvcnQgKGZha2Ugb3V0cHV0ICJwb3J0cyIpLiAifiBTZW5kIHRoZSBwYWNrZXQgb3V0IHRoZSBpbnB1dCBwb3J0LiAgVGhpcwpyZXNlcnZlZCBwb3J0IG11c3QgYmUgZXhwbGljaXRseSB1c2VkCmluIG9yZGVyIHRvIHNlbmQgYmFjayBvdXQgb2YgdGhlIGlucHV0CnBvcnQuIAoMCgUFAAICARIDWwQQCgwKBQUAAgICEgNbFiAKewoEBQACAxIDXwQhIm4gU3Vi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GhsKGQoEBAsCARIEjgMEKiILIDAgb3IgbW9yZSAKDQoFBAsCAQQSBI4DBAwKDQoFBAsCAQYSBI4DDRoKDQoFBAsCAQESBI4DGyUKDQoFBAsCAQMSBI4DKCkKtwgKAgUNEgaoAwCtAwEa5gEgT1hNIENsYXNzIElEcy4KIFRoZSBoaWdoIG9yZGVyIGJpdCBkaWZmZXJlbnRpYXRlIHJlc2VydmVkIGNsYXNzZXMgZnJvbSBtZW1iZXIgY2xhc3Nlcy4KIENsYXNzZXMgMHgwMDAwIHRvIDB4N0ZGRiBhcmUgbWVtYmVyIGNsYXNzZXMsIGFsbG9jYXRlZCBieSBPTkYuCiBDbGFzc2VzIDB4ODAwMCB0byAweEZGRkUgYXJlIHJlc2VydmVkIGNsYXNzZXMsIHJlc2VydmVkIGZvciBzdGFuZGFyZGlzYXRpb24uCjKpASBDb21wb25lbnRzIG9mIGEgT1hNIFRMViBoZWFkZXIuCiBUaG9zZSBtYWNyb3MgYXJlIG5vdCB2YWxpZCBmb3IgdGhlIGV4cGVyaW1lbnRlciBjbGFzcywgbWFjcm9zIGZvciB0aGUKIGV4cGVyaW1lbnRlciBjbGFzcyB3aWxsIGRlcGVuZCBvbiB0aGUgZXhwZXJpbWVudGVyIGhlYWRlciB1c2VkLiAykwUjZGVmaW5lIE9YTV9IRUFERVJfXyhDTEFTUywgRklFTEQsIEhBU01BU0ssIExFTkdUSCkgXAogICAgKCgoQ0xBU1MpIDw8IDE2KSB8ICgoRklFTEQpIDw8IDkpIHwgKChIQVNNQVNLKSA8PCA4KSB8IChMRU5HVEgpKQojZGVmaW5lIE9YTV9IRUFERVIoQ0xBU1MsIEZJRUxELCBMRU5HVEgpIFwKICAgIE9YTV9IRUFERVJfXyhDTEFTUywgRklFTEQsIDAsIExFTkdUSCkKI2RlZmluZSBPWE1fSEVBREVSX1coQ0xBU1MsIEZJRUxELCBMRU5HVEgpIFwKICAgIE9YTV9IRUFERVJfXyhDTEFTUywgRklFTEQsIDEsIChMRU5HVEgpICogMikKI2RlZmluZSBPWE1fQ0xBU1MoSEVBREVSKSAoKEhFQURFUikgPj4gMTYpCiNkZWZpbmUgT1hNX0ZJRUxEKEhFQURFUikgKCgoSEVBREVSKSA+PiA5KSAm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c2lkZXIgYSBwYWNrZXQgcmVjZWl2ZWQgb24gYSB0dW5uZWwgaW50ZXJmYWNlIGRlZmluZWQgb3ZlciBhIGxpbmsKIGFnZ3JlZ2F0aW9uIGdyb3VwIChMQUcpIHdpdGggdHdvIHBoeXNpY2FsIHBvcnQgbWVtYmVycy4gIElmIHRoZSB0dW5uZWwKIGludGVyZmFjZSBpcyB0aGUgbG9naWNhbCBwb3J0IGJvdW5kIHRvIE9wZW5GbG93LiAgSW4gdGhpcyBjYXNlLAogT0ZQWE1UX09GX0lOX1BPUlQgaXMgdGhlIHR1bm5lbCdzIHBvcnQgbnVtYmVyIGFuZCBPRlBYTVRfT0ZfSU5fUEhZX1BPUlQgaXMKIHRoZSBwaHlzaWNhbCBwb3J0IG51bWJlciBvZiB0aGUgTEFHIG9uIHdoaWNoIHRoZSB0dW5uZWwgaXMgY29uZmlndXJlZC4KCiBXaGVuIGEgcGFja2V0IGlzIHJlY2VpdmVkIGRpcmVjdGx5IG9uIGEgcGh5c2ljYWwgcG9ydCBhbmQgbm90IHByb2Nlc3NlZCBieSBhCiBsb2dpY2FsIHBvcnQsIE9GUFhNVF9PRl9JTl9QT1JUIGFuZCBPRlBYTVRfT0ZfSU5fUEhZX1BPUlQgaGF2ZSB0aGUgc2FtZQogdmFsdWUuCgogVGhpcyBmaWVsZCBpcyB1c3VhbGx5IG5vdCBhdmFpbGFibGUgaW4gYSByZWd1bGFyIG1hdGNoIGFuZCBvbmx5IGF2YWlsYWJsZQogaW4gb2ZwX3BhY2tldF9pbiBtZXNzYWdlcyB3aGVuIGl0J3MgZGlmZmVyZW50IGZyb20gT1hNX09GX0lOX1BPUlQuCgogUHJlcmVxczogT1hNX09GX0lOX1BPUlQgbXVzdCBiZSBwcmVzZW50LgoKIEZvcm1hdDogMzItYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAgMFEgSLBAgOCg0KBQQNAgMBEgSLBA8cCg0KBQQNAgMDEgSLBB8gCq0CCgQEDQIEEgSXBAgiGo4BI2RlZmluZSBPWE1fT0ZfTUVUQURBVEEgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX01FVEFEQVRBLCA4KQojZGVmaW5lIE9YTV9PRl9NRVRBREFUQV9XIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfTUVUQURBVEEsIDgpCiIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfTUVUQURBVEEgMm4gVGFibGUgbWV0YWRhdGEuCgogUHJlcmVxczogTm9uZS4KCiBGb3JtYXQ6IDY0LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuCgoNCgUEDQIEBRIElwQIDgoNCgUEDQIEARIElwQPHQoNCgUEDQIEAxIElwQgIQriAwoEBA0CBRIEpAQIGhqYAiNkZWZpbmUgT1hNX09GX0VUSF9EU1QgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9FVEhfRFNULCA2KQojZGVmaW5lIE9YTV9PRl9FVEhfRFNUX1cgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfRVRIX0RTVCwgNikKI2RlZmluZSBPWE1fT0ZfRVRIX1NSQyAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0VUSF9TUkMsIDYpCiNkZWZpbmUgT1hNX09GX0VUSF9TUkNfVyAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9FVEhfU1JDLCA2KQoiLyBVc2VkIGZvciBPRlBYTVRfT0ZCX0VUSF9EU1QgKGV4YWN0bHkgNiBieXRlcykgMocBIFNvdXJjZSBvciBkZXN0aW5hdGlvbiBhZGRyZXNzIGluIEV0aGVybmV0IGhlYWRlci4KCiBQcmVyZXFzOiBOb25lLgoKIEZvcm1hdDogNDgtYml0IEV0aGVybmV0IE1BQyBhZGRyZXNzLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4gCg0KBQQNAgUFEgSkBAgNCg0KBQQNAgUBEgSkBA4VCg0KBQQNAgUDEgSkBBgZCj0KBAQNAgYSBKUECBoiLyBVc2VkIGZvciBPRlBYTVRfT0ZCX0VUSF9TUkMgKGV4YWN0bHkgNiBieXRlcykgCg0KBQQNAgYFEgSlBAgNCg0KBQQNAgYBEgSlBA4VCg0KBQQNAgYDEgSlBBgZCukBCgQEDQIHEgSvBAgcGkYjZGVmaW5lIE9YTV9PRl9FVEhfVFlQRSAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfRVRIX1RZUEUsMikKIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9FVEhfVFlQRSAycyBQYWNrZXQncyBFdGhlcm5ldCB0eXBlLgoKIFByZXJlcXM6IE5vbmUuCgogRm9ybWF0OiAxNi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CBwUSBK8ECA4KDQoFBA0CBwESBK8EDxcKDQoFBA0CBwMSBK8EGhsKgwsKBAQNAggSBNUECBwajgEjZGVmaW5lIE9YTV9PRl9WTEFOX1ZJRCAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfVkxBTl9WSUQsIDIpCiNkZWZpbmUgT1hNX09GX1ZMQU5fVklEX1cgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9WTEFOX1ZJRCwgMikKIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9WTEFOX1ZJRCAywwkgODAyLjFRIFZJRC4KCiBGb3IgYSBwYWNrZXQgd2l0aCBhbiA4MDIuMVEgaGVhZGVyLCB0aGlzIGlzIHRoZSBWTEFOLUlEIChWSUQpIGZyb20gdGhlCiBvdXRlcm1vc3QgdGFnLCB3aXRoIHRoZSBDRkkgYml0IGZvcmNlZCB0byAxLiBGb3IgYSBwYWNrZXQgd2l0aCBubyA4MDIuMVEKIGhlYWRlciwgdGhpcyBoYXMgdmFsdWUgT0ZQVklEX05PTkUuCgogUHJlcmVxczogTm9uZS4KCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlciB3aXRoIGJpdCAxMyBpbmRpY2F0aW5nCiBwcmVzZW5jZSBvZiBWTEFOIGhlYWRlciBhbmQgMyBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlciAxMyBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuCgogVGhpcyBmaWVsZCBjYW4gYmUgdXNlZCBpbiB2YXJpb3VzIHdheXM6CgogICAtIElmIGl0IGlzIG5vdCBjb25zdHJhaW5lZCBhdCBhbGwsIHRoZSBueF9tYXRjaCBtYXRjaGVzIHBhY2tldHMgd2l0aG91dAogICAgIGFuIDgwMi4xUSBoZWFkZXIgb3Igd2l0aCBhbiA4MDIuMVEgaGVhZGVyIHRoYXQgaGFzIGFueSBWSUQgdmFsdWUuCgogICAtIFRlc3RpbmcgZm9yIGFuIGV4YWN0IG1hdGNoIHdpdGggMHgwIG1hdGNoZXMgb25seSBwYWNrZXRzIHdpdGhvdXQKICAgICBhbiA4MDIuMVEgaGVhZGVyLgoKICAgLSBUZXN0aW5nIGZvciBhbiBleGFjdCBtYXRjaCB3aXRoIGEgVklEIHZhbHVlIHdpdGggQ0ZJPTEgbWF0Y2hlcyBwYWNrZXRzCiAgICAgdGhhdCBoYXZlIGFuIDgwMi4xUSBoZWFkZXIgd2l0aCBhIHNwZWNpZmllZCBWSUQuCgogICAtIFRlc3RpbmcgZm9yIGFuIGV4YWN0IG1hdGNoIHdpdGggYSBub256ZXJvIFZJRCB2YWx1ZSB3aXRoIENGST0wIGRvZXMKICAgICBub3QgbWFrZSBzZW5zZS4gIFRoZSBzd2l0Y2ggbWF5IHJlamVjdCB0aGlzIGNvbWJpbmF0aW9uLgoKICAgLSBUZXN0aW5nIHdpdGggbnhtX3ZhbHVlPTAsIG54bV9tYXNrPTB4MGZmZiBtYXRjaGVzIHBhY2tldHMgd2l0aCBubyA4MDIuMVEKICAgICBoZWFkZXIgb3Igd2l0aCBhbiA4MDIuMVEgaGVhZGVyIHdpdGggYSBWSUQgb2YgMC4KCiAgIC0gVGVzdGluZyB3aXRoIG54bV92YWx1ZT0weDEwMDAsIG54bV9tYXNrPTB4MTAwMCBtYXRjaGVzIHBhY2tldHMgd2l0aAogICAgIGFuIDgwMi4xUSBoZWFkZXIgdGhhdCBoYXMgYW55IFZJRCB2YWx1ZS4KCg0KBQQNAggFEgTVBAgOCg0KBQQNAggBEgTVBA8XCg0KBQQNAggDEgTVBBobCtADCgQEDQIJEgTlBAgdGkcjZGVmaW5lIE9YTV9PRl9WTEFOX1BDUCAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfVkxBTl9QQ1AsIDEpCiIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfVkxBTl9QQ1AgMtgCIDgwMi4xUSBQQ1AuCgogRm9yIGEgcGFja2V0IHdpdGggYW4gODAyLjFRIGhlYWRlciwgdGhpcyBpcyB0aGUgVkxBTi1QQ1AgZnJvbSB0aGUKIG91dGVybW9zdCB0YWcuICBGb3IgYSBwYWNrZXQgd2l0aCBubyA4MDIuMVEgaGVhZGVyLCB0aGlzIGhhcyB2YWx1ZQogMC4KCiBQcmVyZXFzOiBPWE1fT0ZfVkxBTl9WSUQgbXVzdCBiZSBkaWZmZXJlbnQgZnJvbSBPRlBWSURfTk9ORS4KCiBGb3JtYXQ6IDgtYml0IGludGVnZXIgd2l0aCA1IG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBmb3JjZWQgdG8gMC4KIE9ubHkgdGhlIGxvd2VyIDMgYml0cyBoYXZlIG1lYW5pbmcuCgogTWFza2luZzogTm90IG1hc2thYmxlLgoKDQoFBA0CCQUSBOUECA4KDQoFBA0CCQESBOUEDxcKDQoFBA0CCQMSBOUEGhwKqAMKBAQNAgoSBPEECBwaRyNkZWZpbmUgT1hNX09GX0lQX0RTQ1AgICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBfRFNDUCwgMSkKIh0gVXNlZCBmb3IgT0ZQWE1UX09GQl9JUF9EU0NQIDKxAiBUaGUgRGlmZiBTZXJ2IENvZGUgUG9pbnQgKERTQ1ApIGJpdHMgb2YgdGhlIElQIGhlYWRlci4KIFBhcnQgb2YgdGhlIElQdjQgVG9TIGZpZWxkIG9yIHRoZSBJUHY2IFRyYWZmaWMgQ2xhc3MgZmllbGQuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgYmUgZWl0aGVyIDB4MDgwMCBvciAweDg2ZGQuCgogRm9ybWF0OiA4LWJpdCBpbnRlZ2VyIHdpdGggMiBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlciA2IGJpdHMgaGF2ZSBtZWFuaW5nLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAgoFEgTxBAgOCg0KBQQNAgoBEgTxBA8WCg0KBQQNAgoDEgTxBBkbCo0DCgQEDQILEgT9BAgbGkUjZGVmaW5lIE9YTV9PRl9JUF9FQ04gICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBfRUNOLCAxKQoiHCBVc2VkIGZvciBPRlBYTVRfT0ZCX0lQX0VDTiAymQIgVGhlIEVDTiBiaXRzIG9mIHRoZSBJUCBoZWFkZXIuCiBQYXJ0IG9mIHRoZSBJUHY0IFRvUyBmaWVsZCBvciB0aGUgSVB2NiBUcmFmZmljIENsYXNzIGZpZWxkLgoKIFByZXJlcXM6IE9YTV9PRl9FVEhfVFlQRSBtdXN0IGJlIGVpdGhlciAweDA4MDAgb3IgMHg4NmRkLgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlciB3aXRoIDYgbW9zdC1zaWduaWZpY2FudCBiaXRzIGZvcmNlZCB0byAwLgogT25seSB0aGUgbG93ZXIgMiBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQILBRIE/QQIDgoNCgUEDQILARIE/QQPFQoNCgUEDQILAxIE/QQYGgqNAgoEBA0CDBIEhwUIHRpHI2RlZmluZSBPWE1fT0ZfSVBfUFJPVE8gICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQX1BST1RPLCAxKQoiHiBVc2VkIGZvciBPRlBYTVRfT0ZCX0lQX1BST1RPIDKVASBUaGUgInByb3RvY29sIiBieXRlIGluIHRoZSBJUCBoZWFkZXIuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgYmUgZWl0aGVyIDB4MDgwMCBvciAweDg2ZGQuCgogRm9ybWF0OiA4LWJpdCBpbnRlZ2VyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAgwFEgSHBQgOCg0KBQQNAgwBEgSHBQ8XCg0KBQQNAgwDEgSHBRocCo0ECgQEDQINEgSVBQgdGqQCI2RlZmluZSBPWE1fT0ZfSVBWNF9TUkMgICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNF9TUkMsIDQpCiNkZWZpbmUgT1hNX09GX0lQVjRfU1JDX1cgICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjRfU1JDLCA0KQojZGVmaW5lIE9YTV9PRl9JUFY0X0RTVCAgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY0X0RTVCwgNCkKI2RlZmluZSBPWE1fT0ZfSVBWNF9EU1RfVyAgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfSVBWNF9EU1QsIDQpCiIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfSVBWNF9TUkMgMrcBIFRoZSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gYWRkcmVzcyBpbiB0aGUgSVAgaGVhZGVyLgoKIFByZXJlcXM6IE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4MDgwMCBleGFjdGx5LgoKIEZvcm1hdDogMzItYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4KCg0KBQQNAg0FEgSVBQgOCg0KBQQNAg0BEgSVBQ8XCg0KBQQNAg0DEgSVBRocCiwKBAQNAg4SBJYFCB0iHiBVc2VkIGZvciBPRlBYTVRfT0ZCX0lQVjRfRFNUIAoNCgUEDQIOBRIElgUIDgoNCgUEDQIOARIElgUPFwoNCgUEDQIOAxIElgUaHAqhAwoEBA0CDxIEowUIHBqMASNkZWZpbmUgT1hNX09GX1RDUF9TUkMgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9UQ1BfU1JDLCAyKQojZGVmaW5lIE9YTV9PRl9UQ1BfRFNUICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfVENQX0RTVCwgMikKIh0gVXNlZCBmb3IgT0ZQWE1UX09GQl9UQ1BfU1JDIDLkASBUaGUgc291cmNlIG9yIGRlc3RpbmF0aW9uIHBvcnQgaW4gdGhlIFRDUCBoZWFkZXIuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgYmUgZWl0aGVyIDB4MDgwMCBvciAweDg2ZGQuCiAgIE9YTV9PRl9JUF9QUk9UTyBtdXN0IG1hdGNoIDYgZXhhY3RseS4KCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIPBRIEowUIDgoNCgUEDQIPARIEowUPFgoNCgUEDQIPAxIEowUZGworCgQEDQIQEgSkBQgcIh0gVXNlZCBmb3IgT0ZQWE1UX09GQl9UQ1BfRFNUIAoNCgUEDQIQBRIEpAUIDgoNCgUEDQIQARIEpAUPFgoNCgUEDQIQAxIEpAUZGwqlAwoEBA0CERIEsQUIHBqMASNkZWZpbmUgT1hNX09GX1VEUF9TUkMgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9VRFBfU1JDLCAyKQojZGVmaW5lIE9YTV9PRl9VRFBfRFNUICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfVURQX0RTVCwgMikKIh0gVXNlZCBmb3IgT0ZQWE1UX09GQl9VRFBfU1JDIDLoASBUaGUgc291cmNlIG9yIGRlc3RpbmF0aW9uIHBvcnQgaW4gdGhlIFVEUCBoZWFkZXIuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggZWl0aGVyIDB4MDgwMCBvciAweDg2ZGQuCiAgIE9YTV9PRl9JUF9QUk9UTyBtdXN0IG1hdGNoIDE3IGV4YWN0bHkuCgogRm9ybWF0OiAxNi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CEQUSBLEFCA4KDQoFBA0CEQESBLEFDxYKDQoFBA0CEQMSBLEFGRsKKwoEBA0CEhIEsgUIHCIdIFVzZWQgZm9yIE9GUFhNVF9PRkJfVURQX0RTVCAKDQoFBA0CEgUSBLIFCA4KDQoFBA0CEgESBLIFDxYKDQoFBA0CEgMSBLIFGRsKqgMKBAQNAhMSBL8FCB0ajgEjZGVmaW5lIE9YTV9PRl9TQ1RQX1NSQyAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfU0NUUF9TUkMsIDIpCiNkZWZpbmUgT1hNX09GX1NDVFBfRFNUICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9TQ1RQX0RTVCwgMikKIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9TQ1RQX1NSQyAy6gEgVGhlIHNvdXJjZSBvciBkZXN0aW5hdGlvbiBwb3J0IGluIHRoZSBTQ1RQIGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCBlaXRoZXIgMHgwODAwIG9yIDB4ODZkZC4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggMTMyIGV4YWN0bHkuCgogRm9ybWF0OiAxNi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CEwUSBL8FCA4KDQoFBA0CEwESBL8FDxcKDQoFBA0CEwMSBL8FGhwKLAoEBA0CFBIEwAUIHSIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfU0NUUF9EU1QgCg0KBQQNAhQFEgTABQgOCg0KBQQNAhQBEgTABQ8XCg0KBQQNAhQDEgTABRocCocDCgQEDQIVEgTNBQggGpgBI2RlZmluZSBPWE1fT0ZfSUNNUFY0X1RZUEUgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSUNNUFY0X1RZUEUsIDEpCiNkZWZpbmUgT1hNX09GX0lDTVBWNF9DT0RFICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lDTVBWNF9DT0RFLCAxKQoiISBVc2VkIGZvciBPRlBYTVRfT0ZCX0lDTVBWNF9UWVBFIDK6ASBUaGUgdHlwZSBvciBjb2RlIGluIHRoZSBJQ01QIGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDA4MDAgZXhhY3RseS4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggMSBleGFjdGx5LgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIVBRIEzQUIDgoNCgUEDQIVARIEzQUPGgoNCgUEDQIVAxIEzQUdHwovCgQEDQIWEgTOBQggIiEgVXNlZCBmb3IgT0ZQWE1UX09GQl9JQ01QVjRfQ09ERSAKDQoFBA0CFgUSBM4FCA4KDQoFBA0CFgESBM4FDxoKDQoFBA0CFgMSBM4FHR8K1QIKBAQNAhcSBNsFCBsaRSNkZWZpbmUgT1hNX09GX0FSUF9PUCAgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfT1AsIDIpCiIcIFVzZWQgZm9yIE9GUFhNVF9PRkJfQVJQX09QIDLhASBBUlAgb3Bjb2RlLgoKIEZvciBhbiBFdGhlcm5ldCtJUCBBUlAgcGFja2V0LCB0aGUgb3Bjb2RlIGluIHRoZSBBUlAgaGVhZGVyLiAgQWx3YXlzIDAKIG90aGVyd2lzZS4KCiBQcmVyZXFzOiBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDA4MDYgZXhhY3RseS4KCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIXBRIE2wUIDgoNCgUEDQIXARIE2wUPFQoNCgUEDQIXAxIE2wUYGgq1BAoEBA0CGBIE6gUIHBqYAiNkZWZpbmUgT1hNX09GX0FSUF9TUEEgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfU1BBLCA0KQojZGVmaW5lIE9YTV9PRl9BUlBfU1BBX1cgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfQVJQX1NQQSwgNCkKI2RlZmluZSBPWE1fT0ZfQVJQX1RQQSAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9UUEEsIDQpCiNkZWZpbmUgT1hNX09GX0FSUF9UUEFfVyAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfVFBBLCA0KQoiGCBGb3IgT0ZQWE1UX09GQl9BUlBfU1BBIDLxASBGb3IgYW4gRXRoZXJuZXQrSVAgQVJQIHBhY2tldCwgdGhlIHNvdXJjZSBvciB0YXJnZXQgcHJvdG9jb2wgYWRkcmVzcwogaW4gdGhlIEFSUCBoZWFkZXIuICBBbHdheXMgMCBvdGhlcndpc2UuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHgwODA2IGV4YWN0bHkuCgogRm9ybWF0OiAzMi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogQXJiaXRyYXJ5IG1hc2tzLgoKDQoFBA0CGAUSBOoFCA4KDQoFBA0CGAESBOoFDxYKDQoFBA0CGAMSBOoFGRsKJgoEBA0CGRIE6wUIHCIYIEZvciBPRlBYTVRfT0ZCX0FSUF9UUEEgCg0KBQQNAhkFEgTrBQgOCg0KBQQNAhkBEgTrBQ8WCg0KBQQNAhkDEgTrBRkbCrcECgQEDQIaEgT5BQgbGpwCI2RlZmluZSBPWE1fT0ZfQVJQX1NIQSAgICBPWE1fSEVBREVSICAgKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfU0hBLCA2KQojZGVmaW5lIE9YTV9PRl9BUlBfU0hBX1cgIE9YTV9IRUFERVJfVyAoMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9TSEEsIDYpCiNkZWZpbmUgT1hNX09GX0FSUF9USEEgICAgT1hNX0hFQURFUiAgICgweDgwMDAsIE9GUFhNVF9PRkJfQVJQX1RIQSwgNikKI2RlZmluZSBPWE1fT0ZfQVJQX1RIQV9XICBPWE1fSEVBREVSX1cgKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfVEhBLCA2KQoiIiBGb3IgT0ZQWE1UX09GQl9BUlBfU0hBICg2IGJ5dGVzKSAy5QEgRm9yIGFuIEV0aGVybmV0K0lQIEFSUCBwYWNrZXQsIHRoZSBzb3VyY2Ugb3IgdGFyZ2V0IGhhcmR3YXJlIGFkZHJlc3MKIGluIHRoZSBBUlAgaGVhZGVyLiAgQWx3YXlzIDAgb3RoZXJ3aXNlLgoKIFByZXJlcXM6IE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4MDgwNiBleGFjdGx5LgoKIEZvcm1hdDogNDgtYml0IEV0aGVybmV0IE1BQyBhZGRyZXNzLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAhoFEgT5BQgNCg0KBQQNAhoBEgT5BQ4VCg0KBQQNAhoDEgT5BRgaCjAKBAQNAhsSBPoFCBsiIiBGb3IgT0ZQWE1UX09GQl9BUlBfVEhBICg2IGJ5dGVzKSAKDQoFBA0CGwUSBPoFCA0KDQoFBA0CGwESBPoFDhUKDQoFBA0CGwMSBPoFGBoK+gMKBAQNAhwSBIgGCBwapAIjZGVmaW5lIE9YTV9PRl9JUFY2X1NSQyAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfU1JDLCAxNikKI2RlZmluZSBPWE1fT0ZfSVBWNl9TUkNfVyAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X1NSQywgMTYpCiNkZWZpbmUgT1hNX09GX0lQVjZfRFNUICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9EU1QsIDE2KQojZGVmaW5lIE9YTV9PRl9JUFY2X0RTVF9XICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfRFNULCAxNikKIhkgRm9yIE9GUFhNVF9PRkJfSVBWNl9TUkMgMqkBIFRoZSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gYWRkcmVzcyBpbiB0aGUgSVB2NiBoZWFkZXIuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4NmRkIGV4YWN0bHkuCgogRm9ybWF0OiAxMjgtYml0IElQdjYgYWRkcmVzcy4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuCgoNCgUEDQIcBRIEiAYIDQoNCgUEDQIcARIEiAYOFgoNCgUEDQIcAxIEiAYZGwonCgQEDQIdEgSJBggcIhkgRm9yIE9GUFhNVF9PRkJfSVBWNl9EU1QgCg0KBQQNAh0FEgSJBggNCg0KBQQNAh0BEgSJBg4WCg0KBQQNAh0DEgSJBhkbCp0DCgQEDQIeEgSXBgggGpoBI2RlZmluZSBPWE1fT0ZfSVBWNl9GTEFCRUwgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfRkxBQkVMLCA0KQojZGVmaW5lIE9YTV9PRl9JUFY2X0ZMQUJFTF9XIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9GTEFCRUwsIDQpCiIcIEZvciBPRlBYTVRfT0ZCX0lQVjZfRkxBQkVMIDLTASBUaGUgSVB2NiBGbG93IExhYmVsCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4NmRkIGV4YWN0bHkKCiBGb3JtYXQ6IDMyLWJpdCBpbnRlZ2VyIHdpdGggMTIgbW9zdC1zaWduaWZpY2FudCBiaXRzIGZvcmNlZCB0byAwLgogT25seSB0aGUgbG93ZXIgMjAgYml0cyBoYXZlIG1lYW5pbmcuCgogTWFza2luZzogQXJiaXRyYXJ5IG1hc2tzLgoKDQoFBA0CHgUSBJcGCA4KDQoFBA0CHgESBJcGDxoKDQoFBA0CHgMSBJcGHR8KgwMKBAQNAh8SBKQGCCAalgEjZGVmaW5lIE9YTV9PRl9JQ01QVjZfVFlQRSBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lDTVBWNl9UWVBFLCAxKQojZGVmaW5lIE9YTV9PRl9JQ01QVjZfQ09ERSBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lDTVBWNl9DT0RFLCAxKQoiHCBGb3IgT0ZQWE1UX09GQl9JQ01QVjZfVFlQRSAyvQEgVGhlIHR5cGUgb3IgY29kZSBpbiB0aGUgSUNNUHY2IGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg2ZGQgZXhhY3RseS4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggNTggZXhhY3RseS4KCiBGb3JtYXQ6IDgtYml0IGludGVnZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CHwUSBKQGCA4KDQoFBA0CHwESBKQGDxoKDQoFBA0CHwMSBKQGHR8KKgoEBA0CIBIEpQYIICIcIEZvciBPRlBYTVRfT0ZCX0lDTVBWNl9DT0RFIAoNCgUEDQIgBRIEpQYIDgoNCgUEDQIgARIEpQYPGgoNCgUEDQIgAxIEpQYdHwqRAwoEBA0CIRIEswYIIhpXI2RlZmluZSBPWE1fT0ZfSVBWNl9ORF9UQVJHRVQgT1hNX0hFQURFUiBcCiAgICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfTkRfVEFSR0VULCAxNikKIh8gRm9yIE9GUFhNVF9PRkJfSVBWNl9ORF9UQVJHRVQgMogCIFRoZSB0YXJnZXQgYWRkcmVzcyBpbiBhbiBJUHY2IE5laWdoYm9yIERpc2NvdmVyeSBtZXNzYWdlLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODZkZCBleGFjdGx5LgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCA1OCBleGFjdGx5LgogICBPWE1fT0ZfSUNNUFY2X1RZUEUgbXVzdCBiZSBlaXRoZXIgMTM1IG9yIDEzNi4KCiBGb3JtYXQ6IDEyOC1iaXQgSVB2NiBhZGRyZXNzLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQNAiEFEgSzBggNCg0KBQQNAiEBEgSzBg4cCg0KBQQNAiEDEgSzBh8hCpcDCgQEDQIiEgTBBggfGkwjZGVmaW5lIE9YTV9PRl9JUFY2X05EX1NMTCAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X05EX1NMTCwgNikKIhwgRm9yIE9GUFhNVF9PRkJfSVBWNl9ORF9TTEwgMpwCIFRoZSBzb3VyY2UgbGluay1sYXllciBhZGRyZXNzIG9wdGlvbiBpbiBhbiBJUHY2IE5laWdoYm9yIERpc2NvdmVyeQogbWVzc2FnZS4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg2ZGQgZXhhY3RseS4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggNTggZXhhY3RseS4KICAgT1hNX09GX0lDTVBWNl9UWVBFIG11c3QgYmUgZXhhY3RseSAxMzUuCgogRm9ybWF0OiA0OC1iaXQgRXRoZXJuZXQgTUFDIGFkZHJlc3MuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CIgUSBMEGCA0KDQoFBA0CIgESBMEGDhkKDQoFBA0CIgMSBMEGHB4KlwMKBAQNAiMSBM8GCB8aTCNkZWZpbmUgT1hNX09GX0lQVjZfTkRfVExMICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfTkRfVExMLCA2KQoiHCBGb3IgT0ZQWE1UX09GQl9JUFY2X05EX1RMTCAynAIgVGhlIHRhcmdldCBsaW5rLWxheWVyIGFkZHJlc3Mgb3B0aW9uIGluIGFuIElQdjYgTmVpZ2hib3IgRGlzY292ZXJ5CiBtZXNzYWdlLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODZkZCBleGFjdGx5LgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCA1OCBleGFjdGx5LgogICBPWE1fT0ZfSUNNUFY2X1RZUEUgbXVzdCBiZSBleGFjdGx5IDEzNi4KCiBGb3JtYXQ6IDQ4LWJpdCBFdGhlcm5ldCBNQUMgYWRkcmVzcy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQIjBRIEzwYIDQoNCgUEDQIjARIEzwYOGQoNCgUEDQIjAxIEzwYcHgr+AgoEBA0CJBIE2wYIHxpKI2RlZmluZSBPWE1fT0ZfTVBMU19MQUJFTCAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9NUExTX0xBQkVMLCA0KQoiGyBGb3IgT0ZQWE1UX09GQl9NUExTX0xBQkVMIDKGAiBUaGUgTEFCRUwgaW4gdGhlIGZpcnN0IE1QTFMgc2hpbSBoZWFkZXIuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4ODQ3IG9yIDB4ODg0OCBleGFjdGx5LgoKIEZvcm1hdDogMzItYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyIHdpdGggMTIgbW9zdC1zaWduaWZpY2FudAogYml0cyBmb3JjZWQgdG8gMC4gT25seSB0aGUgbG93ZXIgMjAgYml0cyBoYXZlIG1lYW5pbmcuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CJAUSBNsGCA4KDQoFBA0CJAESBNsGDxkKDQoFBA0CJAMSBNsGHB4K3AIKBAQNAiUSBOcGCBwaRyNkZWZpbmUgT1hNX09GX01QTFNfVEMgICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfTVBMU19UQywgMSkKIhggRm9yIE9GUFhNVF9PRkJfTVBMU19UQyAy6gEgVGhlIFRDIGluIHRoZSBmaXJzdCBNUExTIHNoaW0gaGVhZGVyLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODg0NyBvciAweDg4NDggZXhhY3RseS4KCiBGb3JtYXQ6IDgtYml0IGludGVnZXIgd2l0aCA1IG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBmb3JjZWQgdG8gMC4KIE9ubHkgdGhlIGxvd2VyIDMgYml0cyBoYXZlIG1lYW5pbmcuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBA0CJQUSBOcGCA4KDQoFBA0CJQESBOcGDxYKDQoFBA0CJQMSBOcGGRsK5AIKBAQNAiYSBPMGCB0aSSNkZWZpbmUgT1hNX09GX01QTFNfQk9TICAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX01QTFNfQk9TLCAxKQoiGSBGb3IgT0ZQWE1UX09GQl9NUExTX0JPUyAy7wEgVGhlIEJvUyBiaXQgaW4gdGhlIGZpcnN0IE1QTFMgc2hpbSBoZWFkZXIuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4ODQ3IG9yIDB4ODg0OCBleGFjdGx5LgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlciB3aXRoIDcgbW9zdC1zaWduaWZpY2FudCBiaXRzIGZvcmNlZCB0byAwLgogT25seSB0aGUgbG93ZXN0IGJpdCBoYXZlIGEgbWVhbmluZy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDQImBRIE8wYIDgoNCgUEDQImARIE8wYPFwoNCgUEDQImAxIE8wYaHAqqAwoEBA0CJxIEggcIHRqOASNkZWZpbmUgT1hNX09GX1BCQl9JU0lEICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9QQkJfSVNJRCwgMykKI2RlZmluZSBPWE1fT0ZfUEJCX0lTSURfVyBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX1BCQl9JU0lELCAzKQoiGSBGb3IgT0ZQWE1UX09GQl9QQkJfSVNJRCAy7wEgSUVFRSA4MDIuMWFoIEktU0lELgoKIEZvciBhIHBhY2tldCB3aXRoIGEgUEJCIGhlYWRlciwgdGhpcyBpcyB0aGUgSS1TSUQgZnJvbSB0aGUKIG91dGVybW9zdCBzZXJ2aWNlIHRhZy4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg4RTcgZXhhY3RseS4KCiBGb3JtYXQ6IDI0LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuIAoNCgUEDQInBRIEggcIDgoNCgUEDQInARIEggcPFwoNCgUEDQInAxIEggcaHAq8BgoEBA0CKBIElgcIHhqUASNkZWZpbmUgT1hNX09GX1RVTk5FTF9JRCAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1RVTk5FTF9JRCwgOCkKI2RlZmluZSBPWE1fT0ZfVFVOTkVMX0lEX1cgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfVFVOTkVMX0lELCA4KQoiGiBGb3IgT0ZQWE1UX09GQl9UVU5ORUxfSUQgMvoEIExvZ2ljYWwgUG9ydCBNZXRhZGF0YS4KCiBNZXRhZGF0YSBhc3NvY2lhdGVkIHdpdGggYSBsb2dpY2FsIHBvcnQuCiBJZiB0aGUgbG9naWNhbCBwb3J0IHBlcmZvcm1zIGVuY2Fwc3VsYXRpb24gYW5kIGRlY2Fwc3VsYXRpb24sIHRoaXMKIGlzIHRoZSBkZW11bHRpcGxleGluZyBmaWVsZCBmcm9tIHRoZSBlbmNhcHN1bGF0aW9uIGhlYWRlci4KIEZvciBleGFtcGxlLCBmb3IgYSBwYWNrZXQgcmVjZWl2ZWQgdmlhIEdSRSB0dW5uZWwgaW5jbHVkaW5nIGEgKDMyLWJpdCkga2V5LAogdGhlIGtleSBpcyBzdG9yZWQgaW4gdGhlIGxvdyAzMi1iaXRzIGFuZCB0aGUgaGlnaCBiaXRzIGFyZSB6ZXJvZWQuCiBGb3IgYSBNUExTIGxvZ2ljYWwgcG9ydCwgdGhlIGxvdyAyMCBiaXRzIHJlcHJlc2VudCB0aGUgTVBMUyBMYWJlbC4KIEZvciBhIFZ4TEFOIGxvZ2ljYWwgcG9ydCwgdGhlIGxvdyAyNCBiaXRzIHJlcHJlc2VudCB0aGUgVk5JLgogSWYgdGhlIHBhY2tldCBpcyBub3QgcmVjZWl2ZWQgdGhyb3VnaCBhIGxvZ2ljYWwgcG9ydCwgdGhlIHZhbHVlIGlzIDAuCgogUHJlcmVxczogTm9uZS4KCiBGb3JtYXQ6IDY0LWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuIAoNCgUEDQIoBRIElgcIDgoNCgUEDQIoARIElgcPGAoNCgUEDQIoAxIElgcbHQqoAwoEBA0CKRIEowcIIBqaASNkZWZpbmUgT1hNX09GX0lQVjZfRVhUSERSICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X0VYVEhEUiwgMikKI2RlZmluZSBPWE1fT0ZfSVBWNl9FWFRIRFJfVyBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfRVhUSERSLCAyKQoiHCBGb3IgT0ZQWE1UX09GQl9JUFY2X0VYVEhEUiAy3gEgVGhlIElQdjYgRXh0ZW5zaW9uIEhlYWRlciBwc2V1ZG8tZmllbGQuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4NmRkIGV4YWN0bHkKCiBGb3JtYXQ6IDE2LWJpdCBpbnRlZ2VyIHdpdGggNyBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlciA5IGJpdHMgaGF2ZSBtZWFuaW5nLgoKIE1hc2tpbmc6IE1hc2thYmxlLiAKDQoFBA0CKQUSBKMHCA4KDQoFBA0CKQESBKMHDxoKDQoFBA0CKQMSBKMHHR8KTQoEBA0IARIGqAcEwAcFGj0gT3B0aW9uYWwgbWFzayB2YWx1ZXMgKG11c3QgYmUgcHJlc2VudCB3aGVuIGhhc19tYXNrIGlzIHRydWUgCg0KBQQNCAEBEgSoBwoOCicKBAQNAioSBKkHCCkiGSBGb3IgT0ZQWE1UX09GQl9NRVRBREFUQSAKDQoFBA0CKgUSBKkHCA4KDQoFBA0CKgESBKkHDyIKDQoFBA0CKgMSBKkHJSgKNwoEBA0CKxIEqwcIISIpIEZvciBP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ZHVhbCBmbG93IHN0YXRpc3RpY3MuCiBUaGUgcmVxdWVzdCBib2R5IGlzIHN0cnVjdCBvZnBfZmxvd19zdGF0c19yZXF1ZXN0LgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF9mbG93X3N0YXRzLiAKDQoFBS4CAQESBJoNBA4KDQoFBS4CAQISBJoNERIKmQEKBAUuAgISBJ8NBBgaigEgQWdncmVnYXRlIGZsb3cgc3RhdGlzdGljcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgc3RydWN0IG9mcF9hZ2dyZWdhdGVfc3RhdHNfcmVxdWVzdC4KIFRoZSByZXBseSBib2R5IGlzIHN0cnVjdCBvZnBfYWdncmVnYXRlX3N0YXRzX3JlcGx5LiAKDQoFBS4CAgESBJ8NBBMKDQoFBS4CAgISBJ8NFhcKeQoEBS4CAxIEpA0EFBprIEZsb3cgdGFibGUgc3RhdGlzdGljcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgZW1wdHkuCiBUaGUgcmVwbHkgYm9keSBpcyBhbiBhcnJheSBvZiBzdHJ1Y3Qgb2ZwX3RhYmxlX3N0YXRzLiAKDQoFBS4CAwESBKQNBA8KDQoFBS4CAwISBKQNEhMKigEKBAUuAgQSBKkNBBkafCBQb3J0IHN0YXRpc3RpY3MuCiBUaGUgcmVxdWVzdCBib2R5IGlzIHN0cnVjdCBvZnBfcG9ydF9zdGF0c19yZXF1ZXN0LgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF9wb3J0X3N0YXRzLiAKDQoFBS4CBAESBKkNBBQKDQoFBS4CBAISBKkNFxgKlwEKBAUuAgUSBK4NBBQaiAEgUXVldWUgc3RhdGlzdGljcyBmb3IgYSBwb3J0CiBUaGUgcmVxdWVzdCBib2R5IGlzIHN0cnVjdCBvZnBfcXVldWVfc3RhdHNfcmVxdWVzdC4KIFRoZSByZXBseSBib2R5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfcXVldWVfc3RhdHMgCg0KBQUuAgUBEgSuDQQPCg0KBQUuAgUCEgSuDRITCpEBCgQFLgIGEgSzDQQUGoIBIEdyb3VwIGNvdW50ZXIgc3RhdGlzdGljcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgc3RydWN0IG9mcF9ncm91cF9zdGF0c19yZXF1ZXN0LgogVGhlIHJlcGx5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfZ3JvdXBfc3RhdHMuIAoNCgUFLgIGARIEsw0EDwoNCgUFLgIGAhIEsw0SEwp0CgQFLgIHEgS4DQQZGmYgR3JvdXAgZGVzY3JpcHRpb24uCiBUaGUgcmVxdWVzdCBib2R5IGlzIGVtcHR5LgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF9ncm91cF9kZXNjLiAKDQoFBS4CBwESBLgNBBQKDQoFBS4CBwISBLgNFxgKaQoEBS4CCBIEvQ0EHRpbIEdyb3VwIGZlYXR1cmVzLgogVGhlIHJlcXVlc3QgYm9keSBpcyBlbXB0eS4KIFRoZSByZXBseSBib2R5IGlzIHN0cnVjdCBvZnBfZ3JvdXBfZmVhdHVyZXMuIAoNCgUFLgIIARIEvQ0EGAoNCgUFLgIIAhIEvQ0bHAqTAQoEBS4CCRIEwg0EFBqEASBNZXRlciBzdGF0aXN0aWNzLgogVGhlIHJlcXVlc3QgYm9keSBpcyBzdHJ1Y3Qgb2ZwX21ldGVyX211bHRpcGFydF9yZXF1ZXN0cy4KIFRoZSByZXBseSBib2R5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfbWV0ZXJfc3RhdHMuIAoNCgUFLgIJARIEwg0EDwoNCgUFLgIJAhIEwg0SEwqXAQoEBS4CChIExw0EHBqIASBNZXRlciBjb25maWd1cmF0aW9uLgogVGhlIHJlcXVlc3QgYm9keSBpcyBzdHJ1Y3Qgb2ZwX21ldGVyX211bHRpcGFydF9yZXF1ZXN0cy4KIFRoZSByZXBseSBib2R5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfbWV0ZXJfY29uZmlnLiAKDQoFBS4CCgESBMcNBBYKDQoFBS4CCgISBMcNGRsKaQoEBS4CCxIEzA0EHhpbIE1ldGVyIGZlYXR1cmVzLgogVGhlIHJlcXVlc3QgYm9keSBpcyBlbXB0eS4KIFRoZSByZXBseSBib2R5IGlzIHN0cnVjdCBvZnBfbWV0ZXJfZmVhdHVyZXMuIAoNCgUFLgILARIEzA0EGAoNCgUFLgILAhIEzA0bHQqxAgoEBS4CDBIE1A0EHhqiAiBUYWJsZSBmZWF0dXJlcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgZWl0aGVyIGVtcHR5IG9yIGNvbnRhaW5zIGFuIGFycmF5IG9mCiBzdHJ1Y3Qgb2ZwX3RhYmxlX2ZlYXR1cmVzIGNvbnRhaW5pbmcgdGhlIGNvbnRyb2xsZXIncwogZGVzaXJlZCB2aWV3IG9mIHRoZSBzd2l0Y2guIElmIHRoZSBzd2l0Y2ggaXMgdW5hYmxlIHRvCiBzZXQgdGhlIHNwZWNpZmllZCB2aWV3IGFuIGVycm9yIGlzIHJldHVybmVkLgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF90YWJsZV9mZWF0dXJlcy4gCg0KBQUuAgwBEgTUDQQYCg0KBQUuAgwCEgTUDRsdCm0KBAUuAg0SBNkNBBkaXyBQb3J0IGRlc2NyaXB0aW9uLgogVGhlIHJlcXVlc3QgYm9keSBpcyBlbXB0eS4KIFRoZSByZXBseSBib2R5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfcG9ydC4gCg0KBQUuAg0BEgTZDQQTCg0KBQUuAg0CEgTZDRYYCr4BCgQFLgIOEgTfDQQgGq8BIEV4cGVyaW1lbnRlciBleHRlbnNpb24uCiBUaGUgcmVxdWVzdCBhbmQgcmVwbHkgYm9kaWVzIGJlZ2luIHdpdGgKIHN0cnVjdCBvZnBfZXhwZXJpbWVudGVyX211bHRpcGFydF9oZWFkZXIuCiBUaGUgcmVxdWVzdCBhbmQgcmVwbHkgYm9kaWVzIGFyZSBvdGhlcndpc2UgZXhwZXJpbWVudGVyLWRlZmluZWQuIAoNCgUFLgIOARIE3w0EFgoNCgUFLgIOAhIE3w0ZHwp8CgIFLxIG5Q0A6A0BMj0gQmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIDEuMy4xIC0gYXZvaWQgYnJlYWtpbmcgdGhlIEFQSS4gMi8jZGVmaW5lIG9mcF9tdWx0aXBhcnRfdHlwZXMgb2ZwX211bHRpcGFydF90eXBlCgoLCgMFLwESBOUNBSAKDAoEBS8CABIE5g0EGwoNCgUFLwIAARIE5g0EFgoNCgUFLwIAAhIE5g0Z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UwIGBRIEoxEECgoNCgUEUwIGARIEoxELGAoNCgUEUwIGAxIEoxEbHArrBgoCBTQSBrwRAMERARoTIENvbnRyb2xsZXIgcm9sZXMuIDLHBiBDb25maWd1cmVzIHRoZSAicm9sZSIgb2YgdGhlIHNlbmRpbmcgY29udHJvbGxlci4gIFRoZSBkZWZhdWx0IHJvbGUgaXM6CgogICAgLSBFcXVhbCAoT0ZQQ1JfUk9MRV9FUVVBTCksIHdoaWNoIGFsbG93cyB0aGUgY29udHJvbGxlciBhY2Nlc3MgdG8gYWxsCiAgICAgIE9wZW5GbG93IGZlYXR1cmVzLiBBbGwgY29udHJvbGxlcnMgaGF2ZSBlcXVhbCByZXNwb25zaWJpbGl0eS4KCiBUaGUgb3RoZXIgcG9zc2libGUgcm9sZXMgYXJlIGEgcmVsYXRlZCBwYWlyOgoKICAgIC0gTWFzdGVyIChPRlBDUl9ST0xFX01BU1RFUikgaXMgZXF1aXZhbGVudCB0byBFcXVhbCwgZXhjZXB0IHRoYXQgdGhlcmUKICAgICAgbWF5IGJlIGF0IG1vc3Qgb25lIE1hc3RlciBjb250cm9sbGVyIGF0IGEgdGltZTogd2hlbiBhIGNvbnRyb2xsZXIKICAgICAgY29uZmlndXJlcyBpdHNlbGYgYXMgTWFzdGVyLCBhbnkgZXhpc3RpbmcgTWFzdGVyIGlzIGRlbW90ZWQgdG8gdGhlCiAgICAgIFNsYXZlIHJvbGUuCgogICAgLSBTbGF2ZSAoT0ZQQ1JfUk9MRV9TTEFWRSkgYWxsb3dzIHRoZSBjb250cm9sbGVyIHJlYWQtb25seSBhY2Nlc3MgdG8KICAgICAgT3BlbkZsb3cgZmVhdHVyZXMuICBJbiBwYXJ0aWN1bGFyIGF0dGVtcHRzIHRvIG1vZGlmeSB0aGUgZmxvdyB0YWJsZQogICAgICB3aWxsIGJlIHJlamVjdGVkIHdpdGggYW4gT0ZQQlJDX0VQRVJNIGVycm9yLgoKICAgICAgU2xhdmUgY29udHJvbGxlcnMgZG8gbm90IHJlY2VpdmUgT0ZQVF9QQUNLRVRfSU4gb3IgT0ZQVF9GTE9XX1JFTU9WRUQKICAgICAgbWVzc2FnZXMsIGJ1dCB0aGV5IGRvIHJlY2VpdmUgT0ZQVF9QT1JU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BI8SCBcKDQoFBGECAQESBI8SGCMKDQoFBGECAQMSBI8SJicKDAoEBGECAhIEkBIIIAoNCgUEYQICBhIEkBIIFQoNCgUEYQICARIEkBIWGwoNCgUEYQICAxIEkBIeHwoMCgQEYQIDEgSREggsCg0KBQRhAgMGEgSREggZCg0KBQRhAgMBEgSREhonCg0KBQRhAgMDEgSREiorClIKAgRiEgaWEgCZEgEaRCBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIHByb2Nlc3MgZmxvdyBhdCBkZXZpY2UgYWRhcHRlcnMKCgsKAwRiARIElhIIFAo9CgQEYgIAEgSYEgQ1Gi8gTWV0ZXJzIGFzc29jaWF0ZWQgd2l0aCBmbG93LXVwZGF0ZSB0byBhZGFwdGVyCgoNCgUEYgIABBIEmBIEDAoNCgUEYgIABhIEmBINKQoNCgUEYgIAARIEmBIqMAoNCgUEYgIAAxIEmBIzNGIGcHJvdG8zCosTCiJ2b2x0aGFfcHJvdG9zL2xvZ2ljYWxfZGV2aWNlLnByb3RvEg5sb2dpY2FsX2RldmljZRocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxofdm9sdGhhX3Byb3Rvcy9vcGVuZmxvd18xMy5wcm90byI4Cg1Mb2dpY2FsUG9ydElkEg4KAmlkGAEgASgJUgJpZBIXCgdwb3J0X2lkGAIgASgJUgZwb3J0SWQi8gEKC0xvZ2ljYWxQb3J0Eg4KAmlkGAEgASgJUgJpZBIwCghvZnBfcG9ydBgCIAEoCzIVLm9wZW5mbG93XzEzLm9mcF9wb3J0UgdvZnBQb3J0EhsKCWRldmljZV9pZBgDIAEoCVIIZGV2aWNlSWQSJAoOZGV2aWNlX3BvcnRfbm8YBCABKA1SDGRldmljZVBvcnRObxIbCglyb290X3BvcnQYBSABKAhSCHJvb3RQb3J0EkEKDm9mcF9wb3J0X3N0YXRzGAYgASgLMhsub3BlbmZsb3dfMTMub2ZwX3BvcnRfc3RhdHNSDG9mcFBvcnRTdGF0cyJBCgxMb2dpY2FsUG9ydHMSMQoFaXRlbXMYASADKAsyGy5sb2dpY2FsX2RldmljZS5Mb2dpY2FsUG9ydFIFaXRlbXMi3AEKDUxvZ2ljYWxEZXZpY2USDgoCaWQYASABKAlS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CgUEAwIEARIDLwsZCgwKBQQDAgQDEgMvHB0KCgoCBAQSBDIANAEKCgoDBAQBEgMyCBYKCwoEBAQCABIDMwQlCgwKBQQEAgAEEgMzBAwKDAoFBAQCAAYSAzMNGgoMCgUEBAIAARIDMxsgCgwKBQQEAgADEgMzIyRiBnByb3RvMwqb4wEKGnZvbHRoYV9wcm90b3MvZGV2aWNlLnByb3RvEgZkZXZpY2UaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aGnZvbHRoYV9wcm90b3MvY29tbW9uLnByb3RvGh92b2x0aGFfcHJvdG9zL29wZW5mbG93XzEzLnByb3RvIuICCgpEZXZpY2VUeXBlEg4KAmlkGAEgASgJUgJpZBIbCgl2ZW5kb3JfaWQYBSABKAlSCHZlbmRvcklkEh0KCnZlbmRvcl9pZHMYBiADKAlSCXZlbmRvcklkcxIYCgdhZGFwdGVyGAIgASgJUgdhZGFwdGVyEjcKGGFjY2VwdHNfYnVsa19mbG93X3VwZGF0ZRgDIAEoCFIVYWNjZXB0c0J1bGtGbG93VXBkYXRlEkQKH2FjY2VwdHNfYWRkX3JlbW92ZV9mbG93X3VwZGF0ZXMYBCABKAhSG2FjY2VwdHNBZGRSZW1vdmVGbG93VXBkYXRlcxJMCiNhY2NlcHRzX2RpcmVjdF9sb2dpY2FsX2Zsb3dzX3VwZGF0ZRgHIAEoCFIfYWNjZXB0c0RpcmVjdExvZ2ljYWxGbG93c1VwZGF0ZRIhCgxhZGFwdGVyX3R5cGUYCCABKAlSC2FkYXB0ZXJUeXBlIjcKC0RldmljZVR5cGVzEigKBWl0ZW1zGAEgAygLMhIuZGV2aWNlLkRldmljZVR5cGVSBWl0ZW1zIsABCghQbUNvbmZpZxISCgRuYW1lGAEgASgJUgRuYW1lEisKBHR5cGUYAiABKA4yFy5kZXZpY2UuUG1Db25maWcuUG1UeXBlUgR0eXBlEhgKB2VuYWJsZWQYAyABKAhSB2VuYWJsZWQSHwoLc2FtcGxlX2ZyZXEYBCABKA1SCnNhbXBsZUZyZXEiOAoGUG1UeXBlEgsKB0NPVU5URVIQABIJCgVHQVVHRRABEgkKBVNUQVRFEAISCwoHQ09OVEVYVBADIpMBCg1QbUdyb3VwQ29uZmlnEh0KCmdyb3VwX25hbWUYASABKAlSCWdyb3VwTmFtZRIdCgpncm91cF9mcmVxGAIgASgNUglncm91cEZyZXESGAoHZW5hYmxlZBgDIAEoCFIHZW5hYmxlZBIqCgdtZXRyaWNzGAQgAygLMhAuZGV2aWNlLlBtQ29uZmlnUgdtZXRyaWNzIvMBCglQbUNvbmZpZ3MSDgoCaWQYASABKAlSAmlkEiEKDGRlZmF1bHRfZnJlcRgCIAEoDVILZGVmYXVsdEZyZXESGAoHZ3JvdXBlZBgDIAEoCFIHZ3JvdXBlZBIjCg1mcmVxX292ZXJyaWRlGAQgASgIUgxmcmVxT3ZlcnJpZGUSLQoGZ3JvdXBzGAUgAygLMhUuZGV2aWNlLlBtR3JvdXBDb25maWdSBmdyb3VwcxIqCgdtZXRyaWNzGAYgAygLMhAuZGV2aWNlLlBtQ29uZmlnUgdtZXRyaWNzEhkKCG1heF9za2V3GAcgASgNUgdtYXhTa2V3Io8CCgVJbWFnZRISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3ZlcnNpb24YAiABKAlSB3ZlcnNpb24SEgoEaGFzaBgDIAEoDVIEaGFzaBIpChBpbnN0YWxsX2RhdGV0aW1lGAQgASgJUg9pbnN0YWxsRGF0ZXRpbWUSGwoJaXNfYWN0aXZlGAUgASgIUghpc0FjdGl2ZRIhCgxpc19jb21taXR0ZWQYBiABKAhSC2lzQ29tbWl0dGVkEhkKCGlzX3ZhbGlkGAcgASgIUgdpc1ZhbGlkEhAKA3VybBgIIAEoCVIDdXJsEhYKBnZlbmRvchgJIAEoCVIGdmVuZG9yEhQKBWNyYzMyGAogASgNUgVjcmMzMiLnBwoNSW1hZ2VEb3dubG9hZBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIQCgN1cmwYAyABKAlSA3VybBIQCgNjcmMYBCABKA1SA2NyYxJPCg5kb3dubG9hZF9zdGF0ZRgFIAEoDjIoLmRldmljZS5JbWFnZURvd25sb2FkLkltYWdlRG93bmxvYWRTdGF0ZVINZG93bmxvYWRTdGF0ZRIjCg1pbWFnZV92ZXJzaW9uGAYgASgJUgxpbWFnZVZlcnNpb24SKQoQZG93bmxvYWRlZF9ieXRlcxgHIAEoDVIPZG93bmxvYWRlZEJ5dGVzEkgKBnJlYXNvbhgIIAEoDjIwLmRldmljZS5JbWFnZURvd25sb2FkLkltYWdlRG93bmxvYWRGYWlsdXJlUmVhc29uUgZyZWFzb24SJwoPYWRkaXRpb25hbF9pbmZvGAkgASgJUg5hZGRpdGlvbmFsSW5mbxIfCgtzYXZlX2NvbmZpZxgKIAEoCFIKc2F2ZUNvbmZpZxIbCglsb2NhbF9kaXIYCyABKAlSCGxvY2FsRGlyEkkKC2ltYWdlX3N0YXRlGAwgASgOMiguZGV2aWNlLkltYWdlRG93bmxvYWQuSW1hZ2VBY3RpdmF0ZVN0YXRlUgppbWFnZVN0YXRlEhsKCWZpbGVfc2l6ZRgNIAEoDVIIZmlsZVNpemUitwEKEkltYWdlRG93bmxvYWRTdGF0ZRIUChBET1dOTE9BRF9VTktOT1dOEAASFgoSRE9XTkxPQURfU1VDQ0VFREVEEAESFgoSRE9XTkxPQURfUkVRVUVTVEVEEAISFAoQRE9XTkxPQURfU1RBUlRFRBADEhMKD0RPV05MT0FEX0ZBSUxFRBAEEhgKFERPV05MT0FEX1VOU1VQUE9SVEVEEAUSFgoSRE9XTkxPQURfQ0FOQ0VMTEVEEAYihgEKGkltYWdlRG93bmxvYWRGYWlsdXJlUmVhc29uEgwKCE5PX0VSUk9SEAASDwoLSU5WQUxJRF9VUkwQARIPCgtERVZJQ0VfQlVTWRACEhYKEklOU1VGRklDSUVOVF9TUEFDRRADEhEKDVVOS05PV05fRVJST1IQBBINCglDQU5DRUxMRUQQBSKMAQoSSW1hZ2VBY3RpdmF0ZVN0YXRlEhEKDUlNQUdFX1VOS05PV04QABISCg5JTUFHRV9JTkFDVElWRRABEhQKEElNQUdFX0FDVElWQVRJTkcQAhIQCgxJTUFHRV9BQ1RJVkUQAxITCg9JTUFHRV9SRVZFUlRJTkcQBBISCg5JTUFHRV9SRVZFUlRFRBAFOgIYASJBCg5JbWFnZURvd25sb2FkcxIrCgVpdGVtcxgCIAMoCzIVLmRldmljZS5JbWFnZURvd25sb2FkUgVpdGVtczoCGAEiLQoGSW1hZ2VzEiMKBWltYWdlGAEgAygLMg0uZGV2aWNlLkltYWdlUgVpbWFnZSKwAQoIT251SW1hZ2USGAoHdmVyc2lvbhgBIAEoCVIHdmVyc2lvbhIeCgppc0NvbW1pdGVkGAIgASgIUgppc0NvbW1pdGVkEhoKCGlzQWN0aXZlGAMgASgIUghpc0FjdGl2ZRIYCgdpc1ZhbGlkGAQgASgIUgdpc1ZhbGlkEiAKC3Byb2R1Y3RDb2RlGAUgASgJUgtwcm9kdWN0Q29kZRISCgRoYXNoGAYgASgJUgRoYXNoIjMKCU9udUltYWdlcxImCgVpdGVtcxgBIAMoCzIQLmRldmljZS5PbnVJbWFnZVIFaXRlbXMiYwoQRGV2aWNlSW1hZ2VTdGF0ZRIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEjIKCmltYWdlU3RhdGUYAiABKAsyEi5kZXZpY2UuSW1hZ2VTdGF0ZVIKaW1hZ2VTdGF0ZSKCCAoKSW1hZ2VTdGF0ZRIYCgd2ZXJzaW9uGAEgASgJUgd2ZXJzaW9uEkwKDmRvd25sb2FkX3N0YXRlGAIgASgOMiUuZGV2aWNlLkltYWdlU3RhdGUuSW1hZ2VEb3dubG9hZFN0YXRlUg1kb3dubG9hZFN0YXRlEj0KBnJlYXNvbhgDIAEoDjIlLmRldmljZS5JbWFnZVN0YXRlLkltYWdlRmFpbHVyZVJlYXNvblIGcmVhc29uEkgKC2ltYWdlX3N0YXRlGAQgASgOMicuZGV2aWNlLkltYWdlU3RhdGUuSW1hZ2VBY3RpdmF0aW9uU3RhdGVSCmltYWdlU3RhdGUi0AEKEkltYWdlRG93bmxvYWRTdGF0ZRIUChBET1dOTE9BRF9VTktOT1dOEAASFgoSRE9XTkxPQURfU1VDQ0VFREVEEAESFgoSRE9XTkxPQURfUkVRVUVTVEVEEAISFAoQRE9XTkxPQURfU1RBUlRFRBADEhMKD0RPV05MT0FEX0ZBSUxFRBAEEhgKFERPV05MT0FEX1VOU1VQUE9SVEVEEAUSFwoTRE9XTkxPQURfQ0FOQ0VMTElORxAGEhYKEkRPV05MT0FEX0NBTkNFTExFRBAHIvQBChJJbWFnZUZhaWx1cmVSZWFzb24SDAoITk9fRVJST1IQABIPCgtJTlZBTElEX1VSTBABEg8KC0RFVklDRV9CVVNZEAISFgoSSU5TVUZGSUNJRU5UX1NQQUNFEAMSEQoNVU5LTk9XTl9FUlJPUhAEEhgKFENBTkNFTExFRF9PTl9SRVFVRVNUEAUSGgoWQ0FOQ0VMTEVEX09OX09OVV9TVEFURRAGEhoKFlZFTkRPUl9ERVZJQ0VfTUlTTUFUQ0gQBxIXChNPTUNJX1RSQU5TRkVSX0VSUk9SEAgSGAoUSU1BR0VfUkVGVVNFRF9CWV9PTlUQCSK4AgoUSW1hZ2VBY3RpdmF0aW9uU3RhdGUSEQoNSU1BR0VfVU5LTk9XThAAEhIKDklNQUdFX0lOQUNUSVZFEAESFAoQSU1BR0VfQUNUSVZBVElORxACEhAKDElNQUdFX0FDVElWRRADEhQKEElNQUdFX0NPTU1JVFRJTkcQBBITCg9JTUFHRV9DT01NSVRURUQQBRIdChlJTUFHRV9BQ1RJVkFUSU9OX0FCT1JUSU5HEAYSHAoYSU1BR0VfQUNUSVZBVElPTl9BQk9SVEVEEAcSGQoVSU1BR0VfQ09NTUlUX0FCT1JUSU5HEAgSGAoUSU1BR0VfQ09NTUlUX0FCT1JURUQQCRIVChFJTUFHRV9ET1dOTE9BRElORxAKEh0KGUlNQUdFX0RPV05MT0FESU5HX0FCT1JURUQQCyK3BQoEUG9ydBIXCgdwb3J0X25vGAEgASgNUgZwb3J0Tm8SFAoFbGFiZWwYAiABKAlSBWxhYmVsEikKBHR5cGUYAyABKA4yFS5kZXZpY2UuUG9ydC5Qb3J0VHlwZVIEdHlwZRI5CgthZG1pbl9zdGF0ZRgFIAEoDjIYLmNvbW1vbi5BZG1pblN0YXRlLlR5cGVzUgphZG1pblN0YXRlEjkKC29wZXJfc3RhdHVzGAYgASgOMhguY29tbW9uLk9wZXJTdGF0dXMuVHlwZXNSCm9wZXJTdGF0dXMSGwoJZGV2aWNlX2lkGAcgASgJUghkZXZpY2VJZBIrCgVwZWVycxgIIAMoCzIVLmRldmljZS5Qb3J0LlBlZXJQb3J0UgVwZWVycxIdCgpyeF9wYWNrZXRzGAkgASgGUglyeFBhY2tldHMSGQoIcnhfYnl0ZXMYCiABKAZSB3J4Qnl0ZXMSGwoJcnhfZXJyb3JzGAsgASgGUghyeEVycm9ycxIdCgp0eF9wYWNrZXRzGAwgASgGUgl0eFBhY2tldHMSGQoIdHhfYnl0ZXMYDSABKAZSB3R4Qnl0ZXMSGwoJdHhfZXJyb3JzGA4gASgGUgh0eEVycm9ycxIwCghvZnBfcG9ydBgPIAEoCzIVLm9wZW5mbG93XzEzLm9mcF9wb3J0UgdvZnBQb3J0GkAKCFBlZXJQb3J0EhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSFwoHcG9ydF9ubxgCIAEoDVIGcG9ydE5vInMKCFBvcnRUeXBlEgsKB1VOS05PV04QABIQCgxFVEhFUk5FVF9OTkkQARIQCgxFVEhFUk5FVF9VTkkQAhILCgdQT05fT0xUEAMSCwoHUE9OX09OVRAEEg0KCVZFTkVUX09MVBAFEg0KCVZFTkVUX09OVRAGIisKBVBvcnRzEiIKBWl0ZW1zGAEgAygLMgwuZGV2aWNlLlBvcnRSBWl0ZW1zItgKCgZEZXZpY2USDgoCaWQYASABKAlSAmlkEhIKBHR5cGUYAiABKAlSBHR5cGUSEgoEcm9vdBgDIAEoCFIEcm9vdBIbCglwYXJlbnRfaWQYBCABKAlSCHBhcmVudElkEiQKDnBhcmVudF9wb3J0X25vGBQgASgNUgxwYXJlbnRQb3J0Tm8SFgoGdmVuZG9yGAUgASgJUgZ2ZW5kb3ISFAoFbW9kZWwYBiABKAlSBW1vZGVsEikKEGhhcmR3YXJlX3ZlcnNpb24YByABKAlSD2hhcmR3YXJlVmVyc2lvbhIpChBmaXJtd2FyZV92ZXJzaW9uGAggASgJUg9maXJtd2FyZVZlcnNpb24SJgoGaW1hZ2VzGAkgASgLMg4uZGV2aWNlLkltYWdlc1IGaW1hZ2VzEiMKDXNlcmlhbF9udW1iZXIYCiABKAlSDHNlcmlhbE51bWJlchIbCgl2ZW5kb3JfaWQYGCABKAlSCHZlbmRvcklkEikKEGFkYXB0ZXJfZW5kcG9pbnQYGSABKAlSD2FkYXB0ZXJFbmRwb2ludBISCgR2bGFuGAwgASgNUgR2bGFuEh8KC21hY19hZGRyZXNzGA0gASgJUgptYWNBZGRyZXNzEiMKDGlwdjRfYWRkcmVzcxgOIAEoCUgAUgtpcHY0QWRkcmVzcxIjCgxpcHY2X2FkZHJlc3MYDyABKAlIAFILaXB2NkFkZHJlc3MSJAoNaG9zdF9hbmRfcG9ydBgVIAEoCUgAUgtob3N0QW5kUG9ydBIdCgpleHRyYV9hcmdzGBcgASgJUglleHRyYUFyZ3MSQAoNcHJveHlfYWRkcmVzcxgTIAEoCzIbLmRldmljZS5EZXZpY2UuUHJveHlBZGRyZXNzUgxwcm94eUFkZHJlc3MSOQoLYWRtaW5fc3RhdGUYECABKA4yGC5jb21tb24uQWRtaW5TdGF0ZS5UeXBlc1IKYWRtaW5TdGF0ZRI5CgtvcGVyX3N0YXR1cxgRIAEoDjIYLmNvbW1vbi5PcGVyU3RhdHVzLlR5cGVzUgpvcGVyU3RhdHVzEhYKBnJlYXNvbhgWIAEoCVIGcmVhc29uEkIKDmNvbm5lY3Rfc3RhdHVzGBIgASgOMhsuY29tbW9uLkNvbm5lY3RTdGF0dXMuVHlwZXNSDWNvbm5lY3RTdGF0dXMSLAoGY3VzdG9tGEAgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIGY3VzdG9tEjEKCnBtX2NvbmZpZ3MYgwEgASgLMhEuZGV2aWNlLlBtQ29uZmlnc1IJcG1Db25maWdzEj8KD2ltYWdlX2Rvd25sb2FkcxiFASADKAsyFS5kZXZpY2UuSW1hZ2VEb3dubG9hZFIOaW1hZ2VEb3dubG9hZHMargIKDFByb3h5QWRkcmVzcxIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEh8KC2RldmljZV90eXBlGAIgASgJUgpkZXZpY2VUeXBlEh0KCmNoYW5uZWxfaWQYAyABKA1SCWNoYW5uZWxJZBIoChBjaGFubmVsX2dyb3VwX2lkGAQgASgNUg5jaGFubmVsR3JvdXBJZBIvChNjaGFubmVsX3Rlcm1pbmF0aW9uGAUgASgJUhJjaGFubmVsVGVybWluYXRpb24SFQoGb251X2lkGAYgASgNUgVvbnVJZBIkCg5vbnVfc2Vzc2lvbl9pZBgHIAEoDVIMb251U2Vzc2lvbklkEikKEGFkYXB0ZXJfZW5kcG9pbnQYCCABKAlSD2FkYXB0ZXJFbmRwb2ludEIJCgdhZGRyZXNzSgQICxAMIsIBChpEZXZpY2VJbWFnZURvd25sb2FkUmVxdWVzdBInCglkZXZpY2VfaWQYASADKAsyCi5jb21tb24uSURSCGRldmljZUlkEiMKBWltYWdlGAIgASgLMg0uZGV2aWNlLkltYWdlUgVpbWFnZRIsChFhY3RpdmF0ZU9uU3VjY2VzcxgDIAEoCFIRYWN0aXZhdGVPblN1Y2Nlc3MSKAoPY29tbWl0T25TdWNjZXNzGAQgASgIUg9jb21taXRPblN1Y2Nlc3MigQEKEkRldmljZUltYWdlUmVxdWVzdBInCglkZXZpY2VfaWQYASADKAsyCi5jb21tb24uSURSCGRldmljZUlkEhgKB3ZlcnNpb24YAiABKAlSB3ZlcnNpb24SKAoPY29tbWl0T25TdWNjZXNzGAMgASgIUg9jb21taXRPblN1Y2Nlc3MiXwoTRGV2aWNlSW1hZ2VSZXNwb25zZRJIChNkZXZpY2VfaW1hZ2Vfc3RhdGVzGAEgAygLMhguZGV2aWNlLkRldmljZUltYWdlU3RhdGVSEWRldmljZUltYWdlU3RhdGVzIqUBChBTZWxmVGVzdFJlc3BvbnNlEj8KBnJlc3VsdBgBIAEoDjInLmRldmljZS5TZWxmVGVzdFJlc3BvbnNlLlNlbGZUZXN0UmVzdWx0UgZyZXN1bHQiUAoOU2VsZlRlc3RSZXN1bHQSCwoHU1VDQ0VTUxAAEgsKB0ZBSUxVUkUQARIRCg1OT1RfU1VQUE9SVEVEEAISEQoNVU5LTk9XTl9FUlJPUhADIi8KB0RldmljZXMSJAoFaXRlbXMYASADKAsyDi5kZXZpY2UuRGV2aWNlUgVpdGVtcyKoAwoUU2ltdWxhdGVBbGFybVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEhwKCWluZGljYXRvchgCIAEoCVIJaW5kaWNhdG9yEhcKB2ludGZfaWQYAyABKAlSBmludGZJZBIkCg5wb3J0X3R5cGVfbmFtZRgEIAEoCVIMcG9ydFR5cGVOYW1lEiIKDW9udV9kZXZpY2VfaWQYBSABKAlSC29udURldmljZUlkEjMKFmludmVyc2VfYml0X2Vycm9yX3JhdGUYBiABKAVSE2ludmVyc2VCaXRFcnJvclJhdGUSFAoFZHJpZnQYByABKAVSBWRyaWZ0EhcKB25ld19lcWQYCCABKAVSBm5ld0VxZBIqChFvbnVfc2VyaWFsX251bWJlchgJIAEoCVIPb251U2VyaWFsTnVtYmVyEkgKCW9wZXJhdGlvbhgKIAEoDjIqLmRldmljZS5TaW11bGF0ZUFsYXJtUmVxdWVzdC5PcGVyYXRpb25UeXBlUglvcGVyYXRpb24iJQoNT3BlcmF0aW9uVHlwZRIJCgVSQUlTRRAAEgkKBUNMRUFSEAEikAEK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b3dubG9hZCwgYWN0aXZhdGUsIGNvbW1pdCBpbWFnZSBvbiBhbiBvbnUuCgoNCgUEBQIBBBIEUwRPFAoMCgUEBQIBBRIDUwQKCgwKBQQFAgEBEgNTCxIKDAoFBAUCAQMSA1MVFgpiCgQEBQICEgNXBBQaVSBoYXNoIG9mIHRoZSBpbWFnZSB0byBiZSB2ZXJpZmllZCBhZ2FpbnN0CiBEZXByZWNhdGVkIGluIHZvbHRoYSAyLjgsIHdpbGwgYmUgcmVtb3ZlZAoKDQoFBAUCAgQSBFcEUxcKDAoFBAUCAgUSA1cECgoMCgUEBQICARIDVwsPCgwKBQQFAgIDEgNXEhMKZAoEBAUCAxIDWgQgGisgRGVwcmVjYXRlZCBpbiB2b2x0aGEgMi44LCB3aWxsIGJlIHJlbW92ZWQKIiogY29tYmluZWQgZGF0ZSBhbmQgdGltZSBleHByZXNzZWQgaW4gVVRDLgoKDQoFBAUCAwQSBFoEVxQKDAoFBAUCAwUSA1oECgoMCgUEBQIDARIDWgsbCgwKBQQFAgMDEgNaHh8KmAMKBAQFAgQSA2IEFxrCAiBUaGUgYWN0aXZlIHNvZnR3YXJlIGltYWdlIGlzIG9uZSB0aGF0IGlzIGN1cnJlbnRseSBsb2FkZWQgYW5kIGV4ZWN1dGluZwogaW4gdGhlIE9OVSBvciBjaXJjdWl0IHBhY2suIFVuZGVyIG5vcm1hbCBvcGVyYXRpb24sIG9uZSBzb2Z0d2FyZSBpbWFnZQogaXMgYWx3YXlzIGFjdGl2ZSB3aGlsZSB0aGUgb3RoZXIgaXMgaW5hY3RpdmUuIFVuZGVyIG5vIGNpcmN1bXN0YW5jZXMgYXJlCiBib3RoIHNvZnR3YXJlIGltYWdlcyBhbGxvd2VkIHRvIGJlIGFjdGl2ZSBhdCB0aGUgc2FtZSB0aW1lCiBEZXByZWNhdGVkIGluIHZvbHRoYSAyLjgsIHdpbGwgYmUgcmVtb3ZlZAoiHSBUcnVlIGlmIHRoZSBpbWFnZSBpcyBhY3RpdmUKMicgdXNlIElTTyA4NjAxIGZvcm1hdCBmb3IgZGF0ZSBhbmQgdGltZQoKDQoFBAUCBAQSBGIEWiAKDAoFBAUCBAUSA2IECAoMCgUEBQIEARIDYgkSCgwKBQQFAgQDEgNiFRYKnwIKBAQFAgUSA2gEGhrvASBUaGUgY29tbWl0dGVkIHNvZnR3YXJlIGltYWdlIGlzIGxvYWRlZCBhbmQgZXhlY3V0ZWQgdXBvbiByZWJvb3Qgb2YgdGhlCiBPTlUgYW5kL29yIGNpcmN1aXQgcGFjay4gRHVyaW5nIG5vcm1hbCBvcGVyYXRpb24sIG9uZSBzb2Z0d2FyZSBpbWFnZSBpcwogYWx3YXlzIGNvbW1pdHRlZCwgd2hpbGUgdGhlIG90aGVyIGlzIHVuY29tbWl0dGVkLgogRGVwcmVjYXRlZCBpbiB2b2x0aGEgMi44LCB3aWxsIGJlIHJlbW92ZWQKIiAgVHJ1ZSBpZiB0aGUgaW1hZ2UgaXMgY29tbWl0dGVkCgoNCgUEBQIFBBIEaARiFwoMCgUEBQIFBRIDaAQICgwKBQQFAgUBEgNoCRUKDAoFBAUCBQMSA2gYGQrMAgoEBAUCBhIDbwQWGqACIEEgc29mdHdhcmUgaW1hZ2UgaXMgdmFsaWQgaWYgaXQgaGFzIGJlZW4gdmVyaWZpZWQgdG8gYmUgYW4gZXhlY3V0YWJsZQogY29kZSBpbWFnZS4gVGhlIHZlcmlmaWNhdGlvbiBtZWNoYW5pc20gaXMgbm90IHN1YmplY3QgdG8gc3RhbmRhcmRpemF0aW9uOwogaG93ZXZlciwgaXQgc2hvdWxkIGluY2x1ZGUgYXQgbGVhc3QgYSBkYXRhIGludGVncml0eSAoZS5nLiwgQ1JDKSBjaGVjayBvZgogdGhlIGVudGlyZSBjb2RlIGltYWdlLgogRGVwcmVjYXRlZCBpbiB2b2x0aGEgMi44LCB3aWxsIGJlIHJlbW92ZWQKIhwgVHJ1ZSBpZiB0aGUgaW1hZ2UgaXMgdmFsaWQKCg0KBQQFAgYEEgRvBGgaCgwKBQQFAgYFEgNvBAgKDAoFBAUCBgESA28JEQoMCgUEBQIGAxIDbxQVCngKBAQFAgcSA3QEExprIFVSTCB3aGVyZSB0aGUgaW1hZ2UgaXMgYXZhaWxhYmxlCiBVUkwgTVVTVCBiZSBmdWxseSBxdWFsaWZpZWQsCiBpbmNsdWRpbmcgZmlsZW5hbWUsIHVzZXJuYW1lIGFuZCBwYXNzd29yZAoKDQoFBAUCBwQSBHQEbxYKDAoFBAUCBwUSA3QECgoMCgUEBQIHARIDdAsOCgwKBQQFAgcDEgN0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Cg0KBQQXAgADEgT4AxARCg4KBAQXCAASBvkDBIQEBQoNCgUEFwgAARIE+QMKEQpXCgQEFwIBEgT8AwggGkkgRGV2aWNlIGNvbnRhY3QgSVB2NCBhZGRyZXNzIChmb3JtYXQ6ICJhLmIuYy5kIiBvciBjYW4gdXNlIGhvc3RuYW1lIHRvbykKCg0KBQQXAgEFEgT8AwgOCg0KBQQXAgEBEgT8Aw8bCg0KBQQXAgEDEgT8Ax4fCngKBAQXAgISBIAECCAaaiBEZXZpY2UgY29udGFjdCBJUHY2IGFkZHJlc3MgdXNpbmcgdGhlIGNhbm9uaWNhbCBzdHJpbmcgZm9ybQogKCJ4eHh4Onh4eHg6eHh4eDp4eHh4Onh4eHg6eHh4eDp4eHh4Onh4eHgiKQoKDQoFBBcCAgUSBIAECA4KDQoFBBcCAgESBIAEDxsKDQoFBBcCAgMSBIAEHh8KDAoEBBcCAxIEggQIIQoNCgUEFwIDBRIEggQIDgoNCgUEFwIDARIEggQPHAoNCgUEFwIDAxIEggQfIGIGcHJvdG8zCvIvCh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiOwoJVGltZXN0YW1wEhgKB3NlY29uZHMYASABKANSB3NlY29uZHMSFAoFbmFub3MYAiABKAVSBW5hbm9zQn4KE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaK2dpdGh1Yi5jb20vZ29sYW5nL3Byb3RvYnVmL3B0eXBlcy90aW1lc3RhbXD4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNK+C0KBxIFHgCIAQEKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiADsKCQoCCCUSAyIAOwoICgEIEgMjAB8KCQoCCB8SAyMAHwoICgEIEgMkAEIKCQoCCAsSAyQAQgoICgEIEgMlACwKCQoCCAESAyUALAoICgEIEgMmAC8KCQoCCAgSAyYALwoICgEIEgMnACIKCQoCCAoSAycAIgoICgEIEgMoACEKCQoCCCQSAygAIQrxGwoCBAASBXwAiAEBGuMbIEEgVGltZXN0YW1wIHJlcHJlc2VudHMgYSBwb2ludCBpbiB0aW1lIGluZGVwZW5kZW50IG9mIGFueSB0aW1lIHpvbmUgb3IgbG9jYWwKIGNhbGVuZGFyLCBlbmNvZGVkIGFzIGEgY291bnQgb2Ygc2Vjb25kcyBhbmQgZnJhY3Rpb25zIG9mIHNlY29uZHMgYXQKIG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gVGhlIGNvdW50IGlzIHJlbGF0aXZlIHRvIGFuIGVwb2NoIGF0IFVUQyBtaWRuaWdodCBvbgogSmFudWFyeSAxLCAxOTcwLCBpbiB0aGUgcHJvbGVwdGljIEdyZWdvcmlhbiBjYWxlbmRhciB3aGljaCBleHRlbmRzIHRoZQogR3JlZ29yaWFuIGNhbGVuZGFyIGJhY2t3YXJkcyB0byB5ZWFyIG9uZS4KCiBBbGwgbWludXRlcyBhcmUgNjAgc2Vjb25kcyBsb25nLiBMZWFwIHNlY29uZHMgYXJlICJzbWVhcmVkIiBzbyB0aGF0IG5vIGxlYXAKIHNlY29uZCB0YWJsZSBpcyBuZWVkZWQgZm9yIGludGVycHJldGF0aW9uLCB1c2luZyBhIFsyNC1ob3VyIGxpbmVhcgogc21lYXJdKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3RpbWUvc21lYXIpLgoKIFRoZSByYW5nZSBpcyBmcm9tIDAwMDEtMDEtMDFUMDA6MDA6MDBaIHRvIDk5OTktMTItMzFUMjM6NTk6NTkuOTk5OTk5OTk5Wi4gQnkKIHJlc3RyaWN0aW5nIHRvIHRoYXQgcmFuZ2UsIHdlIGVuc3VyZSB0aGF0IHdlIGNhbiBjb252ZXJ0IHRvIGFuZCBmcm9tIFtSRkMKIDMzMzldKGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMzMzM5LnR4dCkgZGF0ZSBzdHJpbmdzLgoKICMgRXhhbXBsZXMKCiBFeGFtcGxlIDE6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYHRpbWUoKWAuCgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHRpbWUoTlVMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoMCk7CgogRXhhbXBsZSAyOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFBPU0lYIGBnZXR0aW1lb2ZkYXkoKWAuCgogICAgIHN0cnVjdCB0aW1ldmFsIHR2OwogICAgIGdldHRpbWVvZmRheSgmdHYsIE5VTEwpOwoKICAgICBUaW1lc3RhbXAgdGltZXN0YW1wOwogICAgIHRpbWVzdGFtcC5zZXRfc2Vjb25kcyh0di50dl9zZWMpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3ModHYudHZfdXNlYyAqIDEwMDApOwoKIEV4YW1wbGUgMzogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBXaW4zMiBgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoKWAuCgogICAgIEZJTEVUSU1FIGZ0OwogICAgIEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCZmdCk7CiAgICAgVUlOVDY0IHRpY2tzID0gKCgoVUlOVDY0KWZ0LmR3SGlnaERhdGVUaW1lKSA8PCAzMikgfCBmdC5kd0xvd0RhdGVUaW1lOwoKICAgICAvLyBBIFdpbmRvd3MgdGljayBpcyAxMDAgbmFub3NlY29uZHMuIFdpbmRvd3MgZXBvY2ggMTYwMS0wMS0wMVQwMDowMDowMFoKICAgICAvLyBpcyAxMTY0NDQ3MzYwMCBzZWNvbmRzIGJlZm9yZSBVbml4IGVwb2NoIDE5NzAtMDEtMDFUMDA6MDA6MDBaLgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKChJTlQ2NCkgKCh0aWNrcyAvIDEwMDAwMDAwKSAtIDExNjQ0NDczNjAwTEwpKTsKICAgICB0aW1lc3RhbXAuc2V0X25hbm9zKChJTlQzMikgKCh0aWNrcyAlIDEwMDAwMDAwKSAqIDEwMCkpOwoKIEV4YW1wbGUgNDogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBKYXZhIGBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKWAuCgogICAgIGxvbmcgbWlsbGlzID0gU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXAgPSBUaW1lc3RhbXAubmV3QnVpbGRlcigpLnNldFNlY29uZHMobWlsbGlzIC8gMTAwMCkKICAgICAgICAgLnNldE5hbm9zKChpbnQpICgobWlsbGlzICUgMTAwMCkgKiAxMDAwMDAwKSkuYnVpbGQoKTsKCgogRXhhbXBsZSA1OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIGN1cnJlbnQgdGltZSBpbiBQeXRob24uCgogICAgIHRpbWVzdGFtcCA9IFRpbWVzdGFtcCgpCiAgICAgdGltZXN0YW1wLkdldEN1cnJlbnRUaW1lKCkKCiAjIEpTT04gTWFwcGluZwoKIEluIEpTT04gZm9ybWF0LCB0aGUgVGltZXN0YW1wIHR5cGUgaXMgZW5jb2RlZCBhcyBhIHN0cmluZyBpbiB0aGUKIFtSRkMgMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBmb3JtYXQuIFRoYXQgaXMsIHRoZQogZm9ybWF0IGlzICJ7eWVhcn0te21vbnRofS17ZGF5fVR7aG91cn06e21pbn06e3NlY31bLntmcmFjX3NlY31dWiIKIHdoZXJlIHt5ZWFyfSBpcyBhbHdheXMgZXhwcmVzc2VkIHVzaW5nIGZvdXIgZGlnaXRzIHdoaWxlIHttb250aH0sIHtkYXl9LAoge2hvdXJ9LCB7bWlufSwgYW5kIHtzZWN9IGFyZSB6ZXJvLXBhZGRlZCB0byB0d28gZGlnaXRzIGVhY2guIFRoZSBmcmFjdGlvbmFsCiBzZWNvbmRzLCB3aGljaCBjYW4gZ28gdXAgdG8gOSBkaWdpdHMgKGkuZS4gdXAgdG8gMSBuYW5vc2Vjb25kIHJlc29sdXRpb24pLAogYXJlIG9wdGlvbmFsLiBUaGUgIloiIHN1ZmZpeCBpbmRpY2F0ZXMgdGhlIHRpbWV6b25lICgiVVRDIik7IHRoZSB0aW1lem9uZQogaXMgcmVxdWlyZWQuIEEgcHJvdG8zIEpTT04gc2VyaWFsaXplciBzaG91bGQgYWx3YXlzIHVzZSBVVEMgKGFzIGluZGljYXRlZCBieQogIloiKSB3aGVuIHByaW50aW5nIHRoZSBUaW1lc3RhbXAgdHlwZSBhbmQgYSBwcm90bzMgSlNPTiBwYXJzZXIgc2hvdWxkIGJlCiBhYmxlIHRvIGFjY2VwdCBib3RoIFVUQyBhbmQgb3RoZXIgdGltZXpvbmVzIChhcyBpbmRpY2F0ZWQgYnkgYW4gb2Zmc2V0KS4KCiBGb3IgZXhhbXBsZSwgIjIwMTctMDEtMTVUMDE6MzA6MTUuMDFaIiBlbmNvZGVzIDE1LjAxIHNlY29uZHMgcGFzdAogMDE6MzAgVVRDIG9uIEphbnVhcnkgMTUsIDIwMTcuCgogSW4gSmF2YVNjcmlwdCwgb25lIGNhbiBjb252ZXJ0IGEgRGF0ZSBvYmplY3QgdG8gdGhpcyBmb3JtYXQgdXNpbmcgdGhlCiBzdGFuZGFyZCBbdG9JU09TdHJpbmcoKV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZS90b0lTT1N0cmluZykKIG1ldGhvZC4gSW4gUHl0aG9uLCBhIHN0YW5kYXJkIGBkYXRldGltZS5kYXRldGltZWAgb2JqZWN0IGNhbiBiZSBjb252ZXJ0ZWQKIHRvIHRoaXMgZm9ybWF0IHVzaW5nIFtgc3RyZnRpbWVgXShodHRwczovL2RvY3MucHl0aG9uLm9yZy8yL2xpYnJhcnkvdGltZS5odG1sI3RpbWUuc3RyZnRpbWUpCiB3aXRoIHRoZSB0aW1lIGZvcm1hdCBzcGVjICclWS0lbS0lZFQlSDolTTolUy4lZlonLiBMaWtld2lzZSwgaW4gSmF2YSwgb25lCiBjYW4gdXNlIHRoZSBKb2RhIFRpbWUncyBbYElTT0RhdGVUaW1lRm9ybWF0LmRhdGVUaW1lKClgXSgKIGh0dHA6Ly93d3cuam9kYS5vcmcvam9kYS10aW1lL2FwaWRvY3Mvb3JnL2pvZGEvdGltZS9mb3JtYXQvSVNPRGF0ZVRpbWVGb3JtYXQuaHRtbCNkYXRlVGltZSUyRCUyRAogKSB0byBvYnRhaW4gYSBmb3JtYXR0ZXIgY2FwYWJsZSBvZiBnZW5lcmF0aW5nIHRpbWVzdGFtcHMgaW4gdGhpcyBmb3JtYXQuCgoKCgoKAwQAARIDfAgRCp0BCgQEAAIAEgSBAQIUGo4BIFJlcHJlc2VudHMgc2Vjb25kcyBvZiBVVEMgdGltZSBzaW5jZSBVbml4IGVwb2NoCiAxOTcwLTAxLTAxVDAwOjAwOjAwWi4gTXVzdCBiZSBmcm9tIDAwMDEtMDEtMDFUMDA6MDA6MDBaIHRvCiA5OTk5LTEyLTMxVDIzOjU5OjU5WiBpbmNsdXNpdmUuCgoOCgUEAAIABBIFgQECfBMKDQoFBAACAAUSBIEBAgcKDQoFBAACAAESBIEBCA8KDQoFBAACAAMSBIEBEhMK5QEKBAQAAgESBIcBAhIa1gEgTm9uLW5lZ2F0aXZlIGZyYWN0aW9ucyBvZiBhIHNlY29uZCBhdCBuYW5vc2Vjb25kIHJlc29sdXRpb24uIE5lZ2F0aXZlCiBzZWNvbmQgdmFsdWVzIHdpdGggZnJhY3Rpb25zIG11c3Qgc3RpbGwgaGF2ZSBub24tbmVnYXRpdmUgbmFub3MgdmFsdWVzCiB0aGF0IGNvdW50IGZvcndhcmQgaW4gdGltZS4gTXVzdCBiZSBmcm9tIDAgdG8gOTk5LDk5OSw5OTkKIGluY2x1c2l2ZS4KCg8KBQQAAgEEEgaHAQKBARQKDQoFBAACAQUSBIcBAgcKDQoFBAACAQESBIcBCA0KDQoFBAACAQMSBIcBEBFiBnByb3RvMwqNdQoadm9sdGhhX3Byb3Rvcy9ldmVudHMucHJvdG8SBWV2ZW50Ghxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvGhp2b2x0aGFfcHJvdG9zL2NvbW1vbi5wcm90byKeAQoSRXZlbnRGaWx0ZXJSdWxlS2V5IocBChNFdmVudEZpbHRlclJ1bGVUeXBlEg4KCmZpbHRlcl9hbGwQABIMCghjYXRlZ29yeRABEhAKDHN1Yl9jYXRlZ29yeRACEhIKDmtwaV9ldmVudF90eXBlEAMSFQoRY29uZmlnX2V2ZW50X3R5cGUQBBIVChFkZXZpY2VfZXZlbnRfdHlwZRAFImgKD0V2ZW50RmlsdGVyUnVsZRI/CgNrZXkYASABKA4yLS5ldmVudC5FdmVudEZpbHRlclJ1bGVLZXkuRXZlbnRGaWx0ZXJSdWxlVHlwZVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZSKfAQoLRXZlbnRGaWx0ZXISDgoCaWQYASABKAlSAmlkEhYKBmVuYWJsZRgCIAEoCFIGZW5hYmxlEhsKCWRldmljZV9pZBgDIAEoCVIIZGV2aWNlSWQSHQoKZXZlbnRfdHlwZRgEIAEoCVIJZXZlbnRUeXBlEiwKBXJ1bGVzGAUgAygLMhYuZXZlbnQuRXZlbnRGaWx0ZXJSdWxlUgVydWxlcyI8CgxFdmVudEZpbHRlcnMSLAoHZmlsdGVycxgBIAMoCzISLmV2ZW50LkV2ZW50RmlsdGVyUgdmaWx0ZXJzIjsKD0NvbmZpZ0V2ZW50VHlwZSIoCgVUeXBlcxIHCgNhZGQQABIKCgZyZW1vdmUQARIKCgZ1cGRhdGUQAiJnCgtDb25maWdFdmVudBIwCgR0eXBlGAEgASgOMhwuZXZlbnQuQ29uZmlnRXZlbnRUeXBlLlR5cGVzUgR0eXBlEhIKBGhhc2gYAiABKAlSBGhhc2gSEgoEZGF0YRgDIAEoCVIEZGF0YSIqCgxLcGlFdmVudFR5cGUiGgoFVHlwZXMSCQoFc2xpY2UQABIGCgJ0cxABIqoCCg5NZXRyaWNNZXRhRGF0YRIUCgV0aXRsZRgBIAEoCVIFdGl0bGUSDgoCdHMYAiABKAFSAnRzEioKEWxvZ2ljYWxfZGV2aWNlX2lkGAMgASgJUg9sb2dpY2FsRGV2aWNlSWQSGwoJc2VyaWFsX25vGAQgASgJUghzZXJpYWxObxIbCglkZXZpY2VfaWQYBSABKAlSCGRldmljZUlkEjwKB2NvbnRleHQYBiADKAsyIi5ldmVudC5NZXRyaWNNZXRhRGF0YS5Db250ZXh0RW50cnlSB2NvbnRleHQSEgoEdXVpZBgHIAEoCVIEdXVpZBo6CgxDb250ZXh0RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASKOAQoQTWV0cmljVmFsdWVQYWlycxI+CgdtZXRyaWNzGAEgAygLMiQuZXZlbnQuTWV0cmljVmFsdWVQYWlycy5NZXRyaWNzRW50cnlSB21ldHJpY3MaOgoMTWV0cmljc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgCUgV2YWx1ZToCOAEiwwEKEU1ldHJpY0luZm9ybWF0aW9uEjEKCG1ldGFkYXRhGAEgASgLMhUuZXZlbnQuTWV0cmljTWV0YURhdGFSCG1ldGFkYXRhEj8KB21ldHJpY3MYAiADKAsyJS5ldmVudC5NZXRyaWNJbmZvcm1hdGlvbi5NZXRyaWNzRW50cnlSB21ldHJpY3MaOgoMTWV0cmljc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgCUgV2YWx1ZToCOAEixwEKE01ldHJpY0luZm9ybWF0aW9uNjQSMQoIbWV0YWRhdGEYASABKAsyFS5ldmVudC5NZXRyaWNNZXRhRGF0YVIIbWV0YWRhdGESQQoHbWV0cmljcxgCIAMoCzInLmV2ZW50Lk1ldHJpY0luZm9ybWF0aW9uNjQuTWV0cmljc0VudHJ5UgdtZXRyaWNzGjoKDE1ldHJpY3NFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoAVIFdmFsdWU6AjgBItoBCghLcGlFdmVudBItCgR0eXBlGAEgASgOMhkuZXZlbnQuS3BpRXZlbnRUeXBlLlR5cGVzUgR0eXBlEg4KAnRzGAIgASgCUgJ0cxI5CghwcmVmaXhlcxgDIAMoCzIdLmV2ZW50LktwaUV2ZW50LlByZWZpeGVzRW50cnlSCHByZWZpeGVzGlQKDVByZWZpeGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLQoFdmFsdWUYAiABKAsyFy5ldmVudC5NZXRyaWNWYWx1ZVBhaXJzUgV2YWx1ZToCOAEigwEKCUtwaUV2ZW50MhItCgR0eXBlGAEgASgOMhkuZXZlbnQuS3BpRXZlbnRUeXBlLlR5cGVzUgR0eXBlEg4KAnRzGAIgASgBUgJ0cxI3CgpzbGljZV9kYXRhGAMgAygLMhguZXZlbnQuTWV0cmljSW5mb3JtYXRpb25SCXNsaWNlRGF0YSKFAQoJS3BpRXZlbnQzEi0KBHR5cGUYASABKA4yGS5ldmVudC5LcGlFdmVudFR5cGUuVHlwZXNSBHR5cGUSDgoCdHMYAiABKAFSAnRzEjkKCnNsaWNlX2RhdGEYAyADKAsyGi5ldmVudC5NZXRyaWNJbmZvcm1hdGlvbjY0UglzbGljZURhdGEi8wEKC0RldmljZUV2ZW50Eh8KC3Jlc291cmNlX2lkGAEgASgJUgpyZXNvdXJjZUlkEioKEWRldmljZV9ldmVudF9uYW1lGAIgASgJUg9kZXZpY2VFdmVudE5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjkKB2NvbnRleHQYBCADKAsyHy5ldmVudC5EZXZpY2VFdmVudC5Db250ZXh0RW50cnlSB2NvbnRleHQaOgoMQ29udGV4dEVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi2gIKCFJQQ0V2ZW50EhAKA3JwYxgBIAEoCVIDcnBjEiEKDG9wZXJhdGlvbl9pZBgCIAEoCVILb3BlcmF0aW9uSWQSGAoHc2VydmljZRgDIAEoCVIHc2VydmljZRIZCghzdGFja19pZBgEIAEoCVIHc3RhY2tJZBIfCgtyZXNvdXJjZV9pZBgFIAEoCVIKcmVzb3VyY2VJZBIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SNgoHY29udGV4dBgHIAMoCzIcLmV2ZW50LlJQQ0V2ZW50LkNvbnRleHRFbnRyeVIHY29udGV4dBItCgZzdGF0dXMYCCABKAsyFS5jb21tb24uT3BlcmF0aW9uUmVzcFIGc3RhdHVzGjoKDENvbnRleHRFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBInYKDUV2ZW50Q2F0ZWdvcnkiZQoFVHlwZXMSEQoNQ09NTVVOSUNBVElPThAAEg8KC0VOVklST05NRU5UEAESDQoJRVFVSVBNRU5UEAISCwoHU0VSVklDRRADEg4KClBST0NFU1NJTkcQBBIMCghTRUNVUklUWRAFIlIKEEV2ZW50U3ViQ2F0ZWdvcnkiPgoFVHlwZXMSBwoDUE9OEAASBwoDT0xUEAESBwoDT05UEAISBwoDT05VEAMSBwoDTk5JEAQSCAoETk9ORRAFInYKCUV2ZW50VHlwZSJpCgVUeXBlcxIQCgxDT05GSUdfRVZFTlQQABINCglLUElfRVZFTlQQARIOCgpLUElfRVZFTlQyEAISEAoMREVWSUNFX0VWRU5UEAMSDQoJUlBDX0VWRU5UEAQSDgoKS1BJX0VWRU5UMxAFItwCCgtFdmVudEhlYWRlchIOCgJpZBgBIAEoCVICaWQSNgoIY2F0ZWdvcnkYAiABKA4yGi5ldmVudC5FdmVudENhdGVnb3J5LlR5cGVzUghjYXRlZ29yeRJACgxzdWJfY2F0ZWdvcnkYAyABKA4yHS5ldmVudC5FdmVudFN1YkNhdGVnb3J5LlR5cGVzUgtzdWJDYXRlZ29yeRIqCgR0eXBlGAQgASgOMhYuZXZlbnQuRXZlbnRUeXBlLlR5cGVzUgR0eXBlEiEKDHR5cGVfdmVyc2lvbhgFIAEoCVILdHlwZVZlcnNpb24SNwoJcmFpc2VkX3RzGAYgASgLMhouZ29vZ2xlLnByb3Rv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ZXZlbnQgdHlwZSwgdGh1cyBhbGxvd2luZyBlYWNoCiBldmVudCB0eXBlIHRvIGV2b2x2ZSBpbmRlcGVuZGVudGx5LiBUaGUgdmVyc2lvbiBzaG91bGQgYmUgaW4gdGhlCiBmb3JtYXQg4oCcTUFKT1IuTUlOT1LigJ0gZm9ybWF0IGFuZCBtaW5vciBjaGFuZ2VzIG11c3Qgb25seSBiZSBhZGRpdGl2ZQogYW5kIG5vbi1icmVha2luZy4KCg8KBQQTAgQEEgaQAgSKAh0KDQoFBBMCBAUSBJACBAoKDQoFBBMCBAESBJACCxcKDQoFBBMCBAMSBJACGhsKqAIKBAQTAgUSBJcCBCwamQIgVGltZXN0YW1wIGF0IHdoaWNoIHRoZSBldmVudCB3YXMgZmlyc3QgcmFpc2VkLgogVGhpcyByZXByZXNlbnRzIHRoZSBVVEMgdGltZSBzdGFtcCBzaW5jZSBlcG9jaCAoaW4gc2Vjb25kcykgd2hlbiB0aGUKIHRoZSBldmVudCB3YXMgZmlyc3QgcmFpc2VkIGZyb20gdGhlIHNvdXJjZSBlbnRpdHkuCiBJZiB0aGUgc291cmNlIGVudGl0eSBkb2Vzbid0IHNlbmQgdGhlIHJhaXNlZF90cywgdGhpcyBzaGFsbCBiZSBzZXQKIHRvIHRpbWVzdGFtcCB3aGVuIHRoZSBldmVudCB3YXMgcmVjZWl2ZWQuCgoPCgUEEwIFBBIGlwIEkAIcCg0KBQQTAgUGEgSXAgQdCg0KBQQTAgUBEgSXAh4nCg0KBQQTAgUDEgSXAiorCr0CCgQEEwIGEgSeAgQuGq4CIFRpbWVzdGFtcCBhdCB3aGljaCB0aGUgZXZlbnQgd2FzIHJlcG9ydGVkLgogVGhpcyByZXByZXNlbnRzIHRoZSBVVEMgdGltZSBzdGFtcCBzaW5jZSBlcG9jaCAoaW4gc2Vjb25kcykgd2hlbiB0aGUKIHRoZSBldmVudCB3YXMgcmVwb3J0ZWQgKHRoaXMgdGltZSBzdGFtcCBpcyA+PSByYWlzZWRfdHMpLgogSWYgdGhlIHNvdXJjZSBlbnRpdHkgdGhhdCByZXBvcnRlZCB0aGlzIGV2ZW50IGRvZXNuJ3Qgc2VuZCB0aGUgCiByZXBvcnRlZF90cywgdGhpcyBzaGFsbCBiZSBzZXQgdG8gdGhlIHNhbWUgdmFsdWUgYXMgcmFpc2VkX3RzLgoKDwoFBBMCBgQSBp4CBJcCLAoNCgUEEwIGBhIEngIEHQoNCgUEEwIGARIEngIeKQoNCgUEEwIGAxIEngIsLQogCgIEFBIGpAIAvQIBGhIKIEV2ZW50IFN0cnVjdHVyZQoKCwoDBBQBEgSkAggNChwKBAQUAgASBKYCBBsaDiBldmVudCBoZWFkZXIKCg8KBQQUAgAEEgamAgSkAg8KDQoFBBQCAAYSBKYCBA8KDQoFBBQCAAESBKYCEBYKDQoFBBQCAAMSBKYCGRoKOgoEBBQIABIGqQIEvAIFGiogb25lb2YgZXZlbnQgdHlwZXMgcmVmZXJyZWQgYnkgRXZlbnRUeXBlLgoKDQoFBBQIAAESBKkCChQKJQoEBBQCARIEqwIIJRoXIFJlZmVycyB0byBDb25maWdFdmVudAoKDQoFBBQCAQYSBKsCCBMKDQoFBBQCAQESBKsCFCAKDQoFBBQCAQMSBKsCIyQKIgoEBBQCAhIErgIIHxoUIFJlZmVycyB0byBLcGlFdmVudAoKDQoFBBQCAgYSBK4CCBAKDQoFBBQCAgESBK4CERoKDQoFBBQCAgMSBK4CHR4KIwoEBBQCAxIEsQIIIRoVIFJlZmVycyB0byBLcGlFdmVudDIKCg0KBQQUAgMGEgSxAggRCg0KBQQUAgMBEgSxAhIcCg0KBQQUAgMDEgSxAh8gCiUKBAQUAgQSBLQCCCUaFyBSZWZlcnMgdG8gRGV2aWNlRXZlbnQKCg0KBQQUAgQGEgS0AggTCg0KBQQUAgQBEgS0AhQgCg0KBQQUAgQDEgS0AiMkCiYKBAQUAgUSBLcCCB8aGCBSZWZlcnMgdG8gYW4gUlBDIEV2ZW50CgoNCgUEFAIFBhIEtwIIEAoNCgUEFAIFARIEtwIRGgoNCgUEFAIFAxIEtwIdHgo8CgQEFAIGEgS6AgghGi4gUmVmZXJzIHRvIEtwaUV2ZW50MyAoNjQtYml0IGNvdW50ZXIgc3VwcG9ydCkKCg0KBQQUAgYGEgS6AggRCg0KBQQUAgYBEgS6AhIcCg0KBQQUAgYDEgS6Ah8gYgZwcm90bzMKoiEKHnZvbHRoYV9wcm90b3MvZXh0X2NvbmZpZy5wcm90bxIGY29uZmlnImkKC0FsYXJtQ29uZmlnElAKGG9udV9pdHVfcG9uX2FsYXJtX2NvbmZpZxgBIAEoCzIWLmNvbmZpZy5PbnVJdHVQb25BbGFybUgAUhRvbnVJdHVQb25BbGFybUNvbmZpZ0IICgZjb25maWcivgkKDk9udUl0dVBvbkFsYXJtEhUKBnBvbl9uaRgBIAEoB1IFcG9uTmkSFQoGb251X2lkGAIgASgHUgVvbnVJZBI5CghhbGFybV9pZBgDIAEoDjIeLmNvbmZpZy5PbnVJdHVQb25BbGFybS5BbGFybUlEUgdhbGFybUlkEmoKGWFsYXJtX3JlcG9ydGluZ19jb25kaXRpb24YBCABKA4yLi5jb25maWcuT251SXR1UG9uQWxhcm0uQWxhcm1SZXBvcnRpbmdDb25kaXRpb25SF2FsYXJtUmVwb3J0aW5nQ29uZGl0aW9uEmAKFXJhdGVfdGhyZXNob2xkX2NvbmZpZxgFIAEoCzIqLmNvbmZpZy5PbnVJdHVQb25BbGFybS5SYXRlVGhyZXNob2xkQ29uZmlnSABSE3JhdGVUaHJlc2hvbGRDb25maWcSVAoRcmF0ZV9yYW5nZV9jb25maWcYBiABKAsyJi5jb25maWcuT251SXR1UG9uQWxhcm0uUmF0ZVJhbmdlQ29uZmlnSABSD3JhdGVSYW5nZUNvbmZpZxJjChZ2YWx1ZV90aHJlc2hvbGRfY29uZmlnGAcgASgLMisuY29uZmlnLk9udUl0dVBvbkFsYXJtLlZhbHVlVGhyZXNob2xkQ29uZmlnSABSFHZhbHVlVGhyZXNob2xkQ29uZmlnGlwKCFNvYWtUaW1lEigKEGFjdGl2ZV9zb2FrX3RpbWUYASABKAdSDmFjdGl2ZVNvYWtUaW1lEiYKD2NsZWFyX3NvYWtfdGltZRgCIAEoB1INY2xlYXJTb2FrVGltZRq9AQoTUmF0ZVRocmVzaG9sZENvbmZpZxIyChVyYXRlX3RocmVzaG9sZF9yaXNpbmcYASABKAZSE3JhdGVUaHJlc2hvbGRSaXNpbmcSNAoWcmF0ZV90aHJlc2hvbGRfZmFsbGluZxgCIAEoBlIUcmF0ZVRocmVzaG9sZEZhbGxpbmcSPAoJc29ha190aW1lGAMgASgLMh8uY29uZmlnLk9udUl0dVBvbkFsYXJtLlNvYWtUaW1lUghzb2FrVGltZRqjAQoPUmF0ZVJhbmdlQ29uZmlnEigKEHJhdGVfcmFuZ2VfbG93ZXIYASABKAZSDnJhdGVSYW5nZUxvd2VyEigKEHJhdGVfcmFuZ2VfdXBwZXIYAiABKAZSDnJhdGVSYW5nZVVwcGVyEjwKCXNvYWtfdGltZRgDIAEoCzIfLmNvbmZpZy5PbnVJdHVQb25BbGFybS5Tb2FrVGltZVIIc29ha1RpbWUafQoUVmFsdWVUaHJlc2hvbGRDb25maWcSJwoPdGhyZXNob2xkX2xpbWl0GAEgASgGUg50aHJlc2hvbGRMaW1pdBI8Cglzb2FrX3RpbWUYAiABKAsyHy5jb25maWcuT251SXR1UG9uQWxhcm0uU29ha1RpbWVSCHNvYWtUaW1lIhkKB0FsYXJtSUQSDgoKUkRJX0VSUk9SUxAAIlIKF0FsYXJtUmVwb3J0aW5nQ29uZGl0aW9uEhIKDlJBVEVfVEhSRVNIT0xEEAASDgoKUkFURV9SQU5HRRABEhMKD1ZBTFVFX1RIUkVTSE9MRBACQggKBmNvbmZpZ0JJChNvcmcub3BlbmNvcmQudm9sdGhhWjJnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vZXh0L2NvbmZpZ0r4FQoGEgQNAEUBCvEECgEMEgMNABIa5gQgQ29weXJpZ2h0IDIwMjAtMjAyNCBPcGVuIE5ldHdvcmtpbmcgRm91bmRhdGlvbiAoT05GKSBhbmQgdGhlIE9ORiBDb250cmlidXRvcnMKCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKCiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogZGlzdHJpYnV0ZWQgdW5kZXIgdGhl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ZBgBIAEoCVICaWQSLwoFdmFsdWUYAiABKA4yGS5leHRlbnNpb24uVmFsdWVUeXBlLlR5cGVSBXZhbHVlInQKDFJldHVyblZhbHVlcxIQCgNTZXQYASABKA1SA1NldBIgCgtVbnN1cHBvcnRlZBgCIAEoDVILVW5zdXBwb3J0ZWQSFAoFRXJyb3IYAyABKA1SBUVycm9yEhoKCERpc3RhbmNlGAQgASgNUghEaXN0YW5jZSI2ChJHZXREaXN0YW5jZVJlcXVlc3QSIAoLb251RGV2aWNlSWQYASABKAlSC29udURldmljZUlkIjEKE0dldERpc3RhbmNlUmVzcG9uc2USGgoIZGlzdGFuY2UYASABKA1SCGRpc3RhbmNlIjIKFEdldE9udVVuaUluZm9SZXF1ZXN0EhoKCHVuaUluZGV4GAEgASgNUgh1bmlJbmRleCLhBAoVR2V0T251VW5pSW5mb1Jlc3BvbnNlElAKCGFkbVN0YXRlGAEgASgOMjQuZXh0ZW5zaW9uLkdldE9udVVuaUluZm9SZXNwb25zZS5BZG1pbmlzdHJhdGl2ZVN0YXRlUghhZG1TdGF0ZRJPCglvcGVyU3RhdGUYAiABKA4yMS5leHRlbnNpb24uR2V0T251VW5pSW5mb1Jlc3BvbnNlLk9wZXJhdGlvbmFsU3RhdGVSCW9wZXJTdGF0ZRJPCgljb25maWdJbmQYAyABKA4yMS5leHRlbnNpb24uR2V0T251VW5pSW5mb1Jlc3BvbnNlLkNvbmZpZ3VyYXRpb25JbmRSCWNvbmZpZ0luZCLCAQoQQ29uZmlndXJhdGlvbkluZBIKCgZVTktPV04QABISCg5URU5fQkFTRV9UX0ZEWBABEhYKEkhVTkRSRURfQkFTRV9UX0ZEWBACEhgKFEdJR0FCSVRfRVRIRVJORVRfRkRYEAMSFgoSVEVOX0dfRVRIRVJORVRfRkRYEAQSEgoOVEVOX0JBU0VfVF9IRFgQBRIWChJIVU5EUkVEX0JBU0VfVF9IRFgQBhIYChRHSUdBQklUX0VUSEVSTkVUX0hEWBAHIkcKE0FkbWluaXN0cmF0aXZlU3RhdGUSFgoSQURNU1RBVEVfVU5ERUZJTkVEEAASCgoGTE9DS0VEEAESDAoIVU5MT0NLRUQQAiJGChBPcGVyYXRpb25hbFN0YXRlEhcKE09QRVJTVEFURV9VTkRFRklORUQQABILCgdFTkFCTEVEEAESDAoIRElTQUJMRUQQAiK3AQoSR2V0T2x0UG9ydENvdW50ZXJzEhYKBnBvcnRObxgBIAEoDVIGcG9ydE5vEkIKCHBvcnRUeXBlGAIgASgOMiYuZXh0ZW5zaW9uLkdldE9sdFBvcnRDb3VudGVycy5Qb3J0VHlwZVIIcG9ydFR5cGUiRQoIUG9ydFR5cGUSEAoMUG9ydF9VTktOT1dOEAASFQoRUG9ydF9FVEhFUk5FVF9OTkkQARIQCgxQb3J0X1BPTl9PTFQQAiLMAwoaR2V0T2x0UG9ydENvdW50ZXJzUmVzcG9uc2USGAoHdHhCeXRlcxgBIAEoBFIHdHhCeXRlcxIYCgdyeEJ5dGVzGAIgASgEUgdyeEJ5dGVzEhwKCXR4UGFja2V0cxgDIAEoBFIJdHhQYWNrZXRzEhwKCXJ4UGFja2V0cxgEIAEoBFIJcnhQYWNrZXRzEiYKDnR4RXJyb3JQYWNrZXRzGAUgASgEUg50eEVycm9yUGFja2V0cxImCg5yeEVycm9yUGFja2V0cxgGIAEoBFIOcnhFcnJvclBhY2tldHMSJgoOdHhCY2FzdFBhY2tldHMYByABKARSDnR4QmNhc3RQYWNrZXRzEiYKDnJ4QmNhc3RQYWNrZXRzGAggASgEUg5yeEJjYXN0UGFja2V0cxImCg50eFVjYXN0UGFja2V0cxgJIAEoBFIOdHhVY2FzdFBhY2tldHMSJgoOcnhVY2FzdFBhY2tldHMYCiABKARSDnJ4VWNhc3RQYWNrZXRzEiYKDnR4TWNhc3RQYWNrZXRzGAsgASgEUg50eE1jYXN0UGFja2V0cxImCg5yeE1jYXN0UGFja2V0cxgMIAEoBFIOcnhNY2FzdFBhY2tldHMiRAoUR2V0T251UG9uT3B0aWNhbEluZm8SLAoFZW1wdHkYASABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlSBWVtcHR5IoQCChxHZXRPbnVQb25PcHRpY2FsSW5mb1Jlc3BvbnNlEioKEHBvd2VyRmVlZFZvbHRhZ2UYASABKAJSEHBvd2VyRmVlZFZvbHRhZ2USMgoUcmVjZWl2ZWRPcHRpY2FsUG93ZXIYAiABKAJSFHJlY2VpdmVkT3B0aWNhbFBvd2VyEjYKFm1lYW5PcHRpY2FsTGF1bmNoUG93ZXIYAyABKAJSFm1lYW5PcHRpY2FsTGF1bmNoUG93ZXISKgoQbGFzZXJCaWFzQ3VycmVudBgEIAEoAlIQbGFzZXJCaWFzQ3VycmVudBIgCgt0ZW1wZXJhdHVyZRgFIAEoAlILdGVtcGVyYXR1cmUirwEKH0dldE9udUV0aGVybmV0QnJpZGdlUG9ydEhpc3RvcnkSUgoJZGlyZWN0aW9uGAEgASgOMjQuZXh0ZW5zaW9uLkdldE9udUV0aGVybmV0QnJpZGdlUG9ydEhpc3RvcnkuRGlyZWN0aW9uUglkaXJlY3Rpb24iOAoJRGlyZWN0aW9uEg0KCVVOREVGSU5FRBAAEgwKCFVQU1RSRUFNEAESDgoKRE9XTlNUUkVBTRACIpMFCidHZXRPbnVFdGhlcm5ldEJyaWRnZVBvcnRIaXN0b3J5UmVzcG9uc2USHgoKZHJvcEV2ZW50cxgBIAEoDVIKZHJvcEV2ZW50cxIWCgZvY3RldHMYAiABKA1SBm9jdGV0cxIYCgdwYWNrZXRzGAMgASgNUgdwYWNrZXRzEioKEGJyb2FkY2FzdFBhY2tldHMYBCABKA1SEGJyb2FkY2FzdFBhY2tldHMSKgoQbXVsdGljYXN0UGFja2V0cxgFIAEoDVIQbXVsdGljYXN0UGFja2V0cxIsChFjcmNFcnJvcmVkUGFja2V0cxgGIAEoDVIRY3JjRXJyb3JlZFBhY2tldHMSKgoQdW5kZXJzaXplUGFja2V0cxgHIAEoDVIQdW5kZXJzaXplUGFja2V0cxIoCg9vdmVyc2l6ZVBhY2tldHMYCCABKA1SD292ZXJzaXplUGFja2V0cxIoCg9wYWNrZXRzNjRvY3RldHMYCSABKA1SD3BhY2tldHM2NG9jdGV0cxIyChRwYWNrZXRzNjVUbzEyN29jdGV0cxgKIAEoDVIUcGFja2V0czY1VG8xMjdvY3RldHMSNAoVcGFja2V0czEyOFRvMjU1T2N0ZXRzGAsgASgNUhVwYWNrZXRzMTI4VG8yNTVPY3RldHMSNAoVcGFja2V0czI1NlRvNTExb2N0ZXRzGAwgASgNUhVwYWNrZXRzMjU2VG81MTFvY3RldHMSNgoWcGFja2V0czUxMlRvMTAyM29jdGV0cxgNIAEoDVIWcGFja2V0czUxMlRvMTAyM29jdGV0cxI4ChdwYWNrZXRzMTAyNFRvMTUxOG9jdGV0cxgOIAEoDVIXcGFja2V0czEwMjRUbzE1MThvY3RldHMiTAocR2V0T251QWxsb2NHZW1IaXN0b3J5UmVxdWVzdBIsCgVlbXB0eRgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIFZW1wdHkiswMKFU9udUdlbVBvcnRIaXN0b3J5RGF0YRIUCgVnZW1JZBgBIAEoDVIFZ2VtSWQSMgoUdHJhbnNtaXR0ZWRHRU1GcmFtZXMYAiABKA1SFHRyYW5zbWl0dGVkR0VNRnJhbWVzEiwKEXJlY2VpdmVkR0VNRnJhbWVzGAMgASgNUhFyZWNlaXZlZEdFTUZyYW1lcxI2ChRyZWNlaXZlZFBheWxvYWRCeXRlcxgEIAEoDUICGAFSFHJlY2VpdmVkUGF5bG9hZEJ5dGVzEjwKF3RyYW5zbWl0dGVkUGF5bG9hZEJ5dGVzGAUgASgNQgIYAVIXdHJhbnNtaXR0ZWRQYXlsb2FkQnl0ZXMSMAoTZW5jcnlwdGlvbktleUVycm9ycxgGIAEoDVITZW5jcnlwdGlvbktleUVycm9ycxI5ChlyZWNlaXZlZF9wYXlsb2FkX2J5dGVzXzY0GAcgASgGUhZyZWNlaXZlZFBheWxvYWRCeXRlczY0Ej8KHHRyYW5zbWl0dGVkX3BheWxvYWRfYnl0ZXNfNjQYCCABKAZSGXRyYW5zbWl0dGVkUGF5bG9hZEJ5dGVzNjQiSQoTT251QWxsb2NIaXN0b3J5RGF0YRIYCgdhbGxvY0lkGAEgASgNUgdhbGxvY0lkEhgKB3J4Qnl0ZXMYAiABKA1SB3J4Qnl0ZXMipAEKFk9udUFsbG9jR2VtSGlzdG9yeURhdGESRgoOb251QWxsb2NJZEluZm8YASABKAsyHi5leHRlbnNpb24uT251QWxsb2NIaXN0b3J5RGF0YVIOb251QWxsb2NJZEluZm8SQgoLZ2VtUG9ydEluZm8YAiADKAsyIC5leHRlbnNpb24uT251R2VtUG9ydEhpc3RvcnlEYXRhUgtnZW1Qb3J0SW5mbyJ6Ch1HZXRPbnVBbGxvY0dlbUhpc3RvcnlSZXNwb25zZRJZChZvbnVBbGxvY0dlbUhpc3RvcnlEYXRhGAEgAygLMiEuZXh0ZW5zaW9uLk9udUFsbG9jR2VtSGlzdG9yeURhdGFSFm9udUFsbG9jR2VtSGlzdG9yeURhdGEiQAoQR2V0T251RmVjSGlzdG9yeRIsCgVlbXB0eRgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIFZW1wdHki4wMKGEdldE9udUZlY0hpc3RvcnlSZXNwb25zZRIqCg5jb3JyZWN0ZWRCeXRlcxgBIAEoDUICGAFSDmNvcnJlY3RlZEJ5dGVzEjIKEmNvcnJlY3RlZENvZGVXb3JkcxgCIAEoDUICGAFSEmNvcnJlY3RlZENvZGVXb3JkcxIeCgpmZWNTZWNvbmRzGAMgASgNUgpmZWNTZWNvbmRzEioKDnRvdGFsQ29kZVdvcmRzGAQgASgNQgIYAVIOdG90YWxDb2RlV29yZHMSOgoWdW5jb3JyZWN0YWJsZUNvZGVXb3JkcxgFIAEoDUICGAFSFnVuY29ycmVjdGFibGVDb2RlV29yZHMSMwoWZmVjX2NvcnJlY3RlZF9ieXRlc182NBgGIAEoBlITZmVjQ29ycmVjdGVkQnl0ZXM2NBI8ChtmZWNfY29ycmVjdGVkX2NvZGVfd29yZHNfNjQYByABKAZSF2ZlY0NvcnJlY3RlZENvZGVXb3JkczY0Ei0KE3RvdGFsX2NvZGVfd29yZHNfNjQYCCABKAZSEHRvdGFsQ29kZVdvcmRzNjQSPQobdW5jb3JyZWN0YWJsZV9jb2RlX3dvcmRzXzY0GAkgASgGUhh1bmNvcnJlY3RhYmxlQ29kZVdvcmRzNjQiRwoVR2V0T251Q291bnRlcnNSZXF1ZXN0EhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkIo0BCiVHZXRPbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG1SZXF1ZXN0EiAKC29udURldmljZUlkGAEgASgJUgtvbnVEZXZpY2VJZBIcCgh1bmlJbmRleBgCIAEoDUgAUgh1bmlJbmRleBIUCgVyZXNldBgDIAEoCFIFcmVzZXRCDgoMaXNfdW5pX2luZGV4IkMKEUdldFJ4UG93ZXJSZXF1ZXN0EhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkIkwKFEdldE9sdFJ4UG93ZXJSZXF1ZXN0Eh0KCnBvcnRfbGFiZWwYASABKAlSCXBvcnRMYWJlbBIVCgZvbnVfc24YAiABKAlSBW9udVNuIloKEkdldFBvblN0YXRzUmVxdWVzdBIeCglwb3J0TGFiZWwYASABKAlIAFIJcG9ydExhYmVsEhgKBnBvcnRJZBgCIAEoB0gAUgZwb3J0SWRCCgoIcG9ydEluZm8ibwoTR2V0UG9uU3RhdHNSZXNwb25zZRIYCgdwb25Qb3J0GAEgASgNUgdwb25Qb3J0Ej4KDnBvcnRTdGF0aXN0aWNzGAIgASgLMhYuY29tbW9uLlBvcnRTdGF0aXN0aWNzUg5wb3J0U3RhdGlzdGljcyJaChJHZXROTklTdGF0c1JlcXVlc3QSHgoJcG9ydExhYmVsGAEgASgJSABSCXBvcnRMYWJlbBIYCgZwb3J0SWQYAiABKAdIAFIGcG9ydElkQgoKCHBvcnRJbmZvIm8KE0dldE5OSVN0YXRzUmVzcG9uc2USGAoHbm5pUG9ydBgBIAEoDVIHbm5pUG9ydBI+Cg5wb3J0U3RhdGlzdGljcxgCIAEoCzIWLmNvbW1vbi5Qb3J0U3RhdGlzdGljc1IOcG9ydFN0YXRpc3RpY3MiSQoZR2V0T251U3RhdHNGcm9tT2x0UmVxdWVzdBIWCgZpbnRmSWQYASABKAdSBmludGZJZBIUCgVvbnVJZBgCIAEoB1IFb251SWQinQEKFU9udUdlbVBvcnRJbmZvRnJvbU9sdBIUCgVnZW1JZBgBIAEoDVIFZ2VtSWQSHAoJcnhQYWNrZXRzGAIgASgEUglyeFBhY2tldHMSGAoHcnhCeXRlcxgDIAEoBFIHcnhCeXRlcxIcCgl0eFBhY2tldHMYBCABKARSCXR4UGFja2V0cxIYCgd0eEJ5dGVzGAUgASgEUgd0eEJ5dGVzIksKFU9udUFsbG9jSWRJbmZvRnJvbU9sdBIYCgdhbGxvY0lkGAEgASgNUgdhbGxvY0lkEhgKB3J4Qnl0ZXMYAiABKARSB3J4Qnl0ZXMiqQEKH09udUFsbG9jR2VtU3RhdHNGcm9tT2x0UmVzcG9uc2USQgoLYWxsb2NJZEluZm8YASABKAsyIC5leHRlbnNpb24uT251QWxsb2NJZEluZm9Gcm9tT2x0UgthbGxvY0lkSW5mbxJCCgtnZW1Qb3J0SW5mbxgCIAMoCzIgLmV4dGVuc2lvbi5PbnVHZW1Qb3J0SW5mb0Zyb21PbHRSC2dlbVBvcnRJbmZvInYKGkdldE9udVN0YXRzRnJvbU9sdFJlc3BvbnNlElgKEWFsbG9jR2VtU3RhdHNJbmZvGAEgAygLMiouZXh0ZW5zaW9uLk9udUFsbG9jR2VtU3RhdHNGcm9tT2x0UmVzcG9uc2VSEWFsbG9jR2VtU3RhdHNJbmZvIpYNChZHZXRPbnVDb3VudGVyc1Jlc3BvbnNlEhkKB2ludGZfaWQYASABKAdIAFIGaW50ZklkEhcKBm9udV9pZBgCIAEoB0gBUgVvbnVJZBInCg5wb3NpdGl2ZV9kcmlmdBgDIAEoBkgCUg1wb3NpdGl2ZURyaWZ0EicKDm5lZ2F0aXZlX2RyaWZ0GAQgASgGSANSDW5lZ2F0aXZlRHJpZnQSOgoYZGVsaW1pdGVyX21pc3NfZGV0ZWN0aW9uGAUgASgGSARSFmRlbGltaXRlck1pc3NEZXRlY3Rpb24SHwoKYmlwX2Vycm9ycxgGIAEoBkgFUgliaXBFcnJvcnMSHQoJYmlwX3VuaXRzGAcgASgGSAZSCGJpcFVuaXRzEjQKFWZlY19jb3JyZWN0ZWRfc3ltYm9scxgIIAEoBkgHUhNmZWNDb3JyZWN0ZWRTeW1ib2xzEjgKF2ZlY19jb2Rld29yZHNfY29ycmVjdGVkGAkgASgGSAhSFWZlY0NvZGV3b3Jkc0NvcnJlY3RlZBJAChtmZWNfY29kZXdvcmRzX3VuY29ycmVjdGFibGUYCiABKAZICVIZZmVjQ29kZXdvcmRzVW5jb3JyZWN0YWJsZRIlCg1mZWNfY29kZXdvcmRzGAsgASgGSApSDGZlY0NvZGV3b3JkcxIwChNmZWNfY29ycmVjdGVkX3VuaXRzGAwgASgGSAtSEWZlY0NvcnJlY3RlZFVuaXRzEigKD3hnZW1fa2V5X2Vycm9ycxgNIAEoBkgMUg14Z2VtS2V5RXJyb3JzEh0KCXhnZW1fbG9zcxgOIAEoBkgNUgh4Z2VtTG9zcxIoCg9yeF9wbG9hbXNfZXJyb3IYDyABKAZIDlINcnhQbG9hbXNFcnJvchItChJyeF9wbG9hbXNfbm9uX2lkbGUYECABKAZID1IPcnhQbG9hbXNOb25JZGxlEhkKB3J4X29tY2kYESABKAZIEFIGcnhPbWNpEhkKB3R4X29tY2kYEiABKAZIEVIGdHhPbWNpEjoKGXJ4X29tY2lfcGFja2V0c19jcmNfZXJyb3IYEyABKAZIElIVcnhPbWNpUGFja2V0c0NyY0Vycm9yEhsKCHJ4X2J5dGVzGBQgASgGSBNSB3J4Qnl0ZXMSHwoKcnhfcGFja2V0cxgVIAEoBkgUUglyeFBhY2tldHMSGwoIdHhfYnl0ZXMYFiABKAZIFVIHdHhCeXRlcxIfCgp0eF9wYWNrZXRzGBcgASgGSBZSCXR4UGFja2V0cxIjCgxiZXJfcmVwb3J0ZWQYGCABKAZIF1ILYmVyUmVwb3J0ZWQSIQoLbGNkZ19lcnJvcnMYGSABKAZIGFIKbGNkZ0Vycm9ycxIfCgpyZGlfZXJyb3JzGBogASgGSBlSCXJkaUVycm9ycxIeCgl0aW1lc3RhbXAYGyABKAdIGlIJdGltZXN0YW1wEh8KCmhlY19lcnJvcnMYHCABKAZIG1IJaGVjRXJyb3JzQgwKCmlzX2ludGZfaWRCCwoJaXNfb251X2lkQhMKEWlzX3Bvc2l0aXZlX2RyaWZ0QhMKEWlzX25lZ2F0aXZlX2RyaWZ0Qh0KG2lzX2RlbGltaXRlcl9taXNzX2RldGVjdGlvbkIPCg1pc19iaXBfZXJyb3JzQg4KDGlzX2JpcF91bml0c0IaChhpc19mZWNfY29ycmVjdGVkX3N5bWJvbHNCHAoaaXNfZmVjX2NvZGV3b3Jkc19jb3JyZWN0ZWRCIAoeaXNfZmVjX2NvZGV3b3Jkc191bmNvcnJlY3RhYmxlQhIKEGlzX2ZlY19jb2Rld29yZHNCGAoWaXNfZmVjX2NvcnJlY3RlZF91bml0c0IUChJpc194Z2VtX2tleV9lcnJvcnNCDgoMaXNfeGdlbV9sb3NzQhQKEmlzX3J4X3Bsb2Ftc19lcnJvckIXChVpc19yeF9wbG9hbXNfbm9uX2lkbGVCDAoKaXNfcnhfb21jaUIMCgppc190eF9vbWNpQh4KHGlzX3J4X29tY2lfcGFja2V0c19jcmNfZXJyb3JCDQoLaXNfcnhfYnl0ZXNCDwoNaXNfcnhfcGFja2V0c0INCgtpc190eF9ieXRlc0IPCg1pc190eF9wYWNrZXRzQhEKD2lzX2Jlcl9yZXBvcnRlZEIQCg5pc19sY2RnX2Vycm9yc0IPCg1pc19yZGlfZXJyb3JzQg4KDGlzX3RpbWVzdGFtcEIPCg1pc19oZWNfZXJyb3JzIowFChtPbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG0SHwoLZHJvcF9ldmVudHMYASABKAZSCmRyb3BFdmVudHMSFgoGb2N0ZXRzGAIgASgGUgZvY3RldHMSFgoGZnJhbWVzGAMgASgGUgZmcmFtZXMSKQoQYnJvYWRjYXN0X2ZyYW1lcxgEIAEoBlIPYnJvYWRjYXN0RnJhbWVzEikKEG11bHRpY2FzdF9mcmFtZXMYBSABKAZSD211bHRpY2FzdEZyYW1lcxIsChJjcmNfZXJyb3JlZF9mcmFtZXMYBiABKAZSEGNyY0Vycm9yZWRGcmFtZXMSKQoQdW5kZXJzaXplX2ZyYW1lcxgHIAEoBlIPdW5kZXJzaXplRnJhbWVzEicKD292ZXJzaXplX2ZyYW1lcxgIIAEoBlIOb3ZlcnNpemVGcmFtZXMSKAoQZnJhbWVzXzY0X29jdGV0cxgJIAEoBlIOZnJhbWVzNjRPY3RldHMSNAoXZnJhbWVzXzY1X3RvXzEyN19vY3RldHMYCiABKAZSE2ZyYW1lczY1VG8xMjdPY3RldHMSNgoYZnJhbWVzXzEyOF90b18yNTVfb2N0ZXRzGAsgASgGUhRmcmFtZXMxMjhUbzI1NU9jdGV0cxI2ChhmcmFtZXNfMjU2X3RvXzUxMV9vY3RldHMYDCABKAZSFGZyYW1lczI1NlRvNTExT2N0ZXRzEjgKGWZyYW1lc181MTJfdG9fMTAyM19vY3RldHMYDSABKAZSFWZyYW1lczUxMlRvMTAyM09jdGV0cxI6ChpmcmFtZXNfMTAyNF90b18xNTE4X29jdGV0cxgOIAEoBlIWZnJhbWVzMTAyNFRvMTUxOE9jdGV0cyL0AgomR2V0T21jaUV0aGVybmV0RnJhbWVFeHRlbmRlZFBtUmVzcG9uc2USQgoIdXBzdHJlYW0YASABKAsyJi5leHRlbnNpb24uT21jaUV0aGVybmV0RnJhbWVFeHRlbmRlZFBtUgh1cHN0cmVhbRJGCgpkb3duc3RyZWFtGAIgASgLMiYuZXh0ZW5zaW9uLk9tY2lFdGhlcm5ldEZyYW1lRXh0ZW5kZWRQbVIKZG93bnN0cmVhbRKLAQomb21jaV9ldGhlcm5ldF9mcmFtZV9leHRlbmRlZF9wbV9mb3JtYXQYAyABKA4yOC5leHRlbnNpb24uR2V0T21jaUV0aGVybmV0RnJhbWVFeHRlbmRlZFBtUmVzcG9uc2UuRm9ybWF0UiFvbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG1Gb3JtYXQiMAoGRm9ybWF0EhIKDlRISVJUWV9UV09fQklUEAASEgoOU0lYVFlfRk9VUl9CSVQQASJ0CgdSeFBvd2VyEhUKBm9udV9zbhgBIAEoCVIFb251U24SFgoGc3RhdHVzGAIgASgJUgZzdGF0dXMSHwoLZmFpbF9yZWFzb24YAyABKAlSCmZhaWxSZWFzb24SGQoIcnhfcG93ZXIYBCABKAFSB3J4UG93ZXIiZQoVR2V0T2x0UnhQb3dlclJlc3BvbnNlEh0KCnBvcnRfbGFiZWwYASABKAlSCXBvcnRMYWJlbBItCghyeF9wb3dlchgCIAMoCzISLmV4dGVuc2lvbi5SeFBvd2VyUgdyeFBvd2VyIpgBChJHZXRSeFBvd2VyUmVzcG9uc2USFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMSHwoLZmFpbF9yZWFzb24YBCABKAlSCmZhaWxSZWFzb24SGQoIcnhfcG93ZXIYBSABKAFSB3J4UG93ZXIiSgoaR2V0T251T21jaVR4UnhTdGF0c1JlcXVlc3QSLAoFZW1wdHkYASABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlSBWVtcHR5IvEDChtHZXRPbnVPbWNpVHhSeFN0YXRzUmVzcG9uc2USKQoRYmFzZV90eF9hcl9mcmFtZXMYASABKA1SDmJhc2VUeEFyRnJhbWVzEikKEWJhc2VfcnhfYWtfZnJhbWVzGAIgASgNUg5iYXNlUnhBa0ZyYW1lcxIuChRiYXNlX3R4X25vX2FyX2ZyYW1lcxgDIAEoDVIQYmFzZVR4Tm9BckZyYW1lcxIuChRiYXNlX3J4X25vX2FrX2ZyYW1lcxgEIAEoDVIQYmFzZVJ4Tm9Ba0ZyYW1lcxInChBleHRfdHhfYXJfZnJhbWVzGAUgASgNUg1leHRUeEFyRnJhbWVzEicKEGV4dF9yeF9ha19mcmFtZXMYBiABKA1SDWV4dFJ4QWtGcmFtZXMSLAoTZXh0X3R4X25vX2FyX2ZyYW1lcxgHIAEoDVIPZXh0VHhOb0FyRnJhbWVzEiwKE2V4dF9yeF9ub19ha19mcmFtZXMYCCABKA1SD2V4dFJ4Tm9Ba0ZyYW1lcxI1Chd0eF9vbWNpX2NvdW50ZXJfcmV0cmllcxgJIAEoDVIUdHhPbWNpQ291bnRlclJldHJpZXMSNwoYdHhfb21jaV9jb3VudGVyX3RpbWVvdXRzGAogASgNUhV0eE9tY2lDb3VudGVyVGltZW91dHMiTQodR2V0T251T21jaUFjdGl2ZUFsYXJtc1JlcXVlc3QSLAoFZW1wdHkYASABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlSBWVtcHR5In0KCUFsYXJtRGF0YRIZCghjbGFzc19pZBgBIAEoDVIHY2xhc3NJZBIfCgtpbnN0YW5jZV9pZBgCIAEoDVIKaW5zdGFuY2VJZBISCgRuYW1lGAMgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbiJbCh5HZXRPbnVPbWNpQWN0aXZlQWxhcm1zUmVzcG9uc2USOQoNYWN0aXZlX2FsYXJtcxgBIAMoCzIULmV4dGVuc2lvbi5BbGFybURhdGFSDGFjdGl2ZUFsYXJtcyLCAQohR2V0T2ZmbG9hZGVkQXBwc1N0YXRpc3RpY3NSZXF1ZXN0ElUKCHN0YXRzRm9yGAEgASgOMjkuZXh0ZW5zaW9uLkdldE9mZmxvYWRlZEFwcHNTdGF0aXN0aWNzUmVxdWVzdC5PZmZsb2FkZWRBcHBSCHN0YXRzRm9yIkYKDE9mZmxvYWRlZEFwcBINCglVTkRFRklORUQQABILCgdQUFBvZUlBEAESDAoIREhDUHY0UkEQAhIMCghESENQdjZSQRADIosWCiJHZXRPZmZsb2FkZWRBcHBzU3RhdGlzdGljc1Jlc3BvbnNlEmMKDWRoY3B2NFJhU3RhdHMYASABKAsyOy5leHRlbnNpb24uR2V0T2ZmbG9hZGVkQXBwc1N0YXRpc3RpY3NSZXNwb25zZS5ESENQdjRSQVN0YXRzSABSDWRoY3B2NFJhU3RhdHMSYwoNZGhjcHY2UmFTdGF0cxgCIAEoCzI7LmV4dGVuc2lvbi5HZXRPZmZsb2FkZWRBcHBzU3RhdGlzdGljc1Jlc3BvbnNlLkRIQ1B2NlJBU3RhdHNIAFINZGhjcHY2UmFTdGF0cxJgCgxwcHBvZUlhU3RhdHMYAyABKAsyOi5leHRlbnNpb24uR2V0T2ZmbG9hZGVkQXBwc1N0YXRpc3RpY3NSZXNwb25zZS5QUFBvZUlBU3RhdHNIAFIMcHBwb2VJYVN0YXRzGvsFCg1ESENQdjRSQVN0YXRzEjoKGmluX2JhZF9wYWNrZXRzX2Zyb21fY2xpZW50GAEgASgNUhZpbkJhZFBhY2tldHNGcm9tQ2xpZW50EjoKGmluX2JhZF9wYWNrZXRzX2Zyb21fc2VydmVyGAIgASgNUhZpbkJhZFBhY2tldHNGcm9tU2VydmVyEjMKFmluX3BhY2tldHNfZnJvbV9jbGllbnQYAyABKA1SE2luUGFja2V0c0Zyb21DbGllbnQSMwoWaW5fcGFja2V0c19mcm9tX3NlcnZlchgEIAEoDVITaW5QYWNrZXRzRnJvbVNlcnZlchIxChVvdXRfcGFja2V0c190b19zZXJ2ZXIYBSABKA1SEm91dFBhY2tldHNUb1NlcnZlchIxChVvdXRfcGFja2V0c190b19jbGllbnQYBiABKA1SEm91dFBhY2tldHNUb0NsaWVudBJNCiRvcHRpb25fODJfaW5zZXJ0ZWRfcGFja2V0c190b19zZXJ2ZXIYByABKA1SH29wdGlvbjgySW5zZXJ0ZWRQYWNrZXRzVG9TZXJ2ZXISSwojb3B0aW9uXzgyX3JlbW92ZWRfcGFja2V0c190b19jbGllbnQYCCABKA1SHm9wdGlvbjgyUmVtb3ZlZFBhY2tldHNUb0NsaWVudBJFCiBvcHRpb25fODJfbm90X2luc2VydGVkX3RvX3NlcnZlchgJIAEoDVIbb3B0aW9uODJOb3RJbnNlcnRlZFRvU2VydmVyEnsKEGFkZGl0aW9uYWxfc3RhdHMYCiADKAsyUC5leHRlbnNpb24uR2V0T2ZmbG9hZGVkQXBwc1N0YXRpc3RpY3NSZXNwb25zZS5ESENQdjRSQVN0YXRzLkFkZGl0aW9uYWxTdGF0c0VudHJ5Ug9hZGRpdGlvbmFsU3RhdHMaQgoUQWRkaXRpb25hbFN0YXRzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARr1BgoNREhDUHY2UkFTdGF0cxI6Chppbl9iYWRfcGFja2V0c19mcm9tX2NsaWVudBgBIAEoDVIWaW5CYWRQYWNrZXRzRnJvbUNsaWVudBI6Chppbl9iYWRfcGFja2V0c19mcm9tX3NlcnZlchgCIAEoDVIWaW5CYWRQYWNrZXRzRnJvbVNlcnZlchJNCiRvcHRpb25fMTdfaW5zZXJ0ZWRfcGFja2V0c190b19zZXJ2ZXIYAyABKA1SH29wdGlvbjE3SW5zZXJ0ZWRQYWNrZXRzVG9TZXJ2ZXISSwojb3B0aW9uXzE3X3JlbW92ZWRfcGFja2V0c190b19jbGllbnQYBCABKA1SHm9wdGlvbjE3UmVtb3ZlZFBhY2tldHNUb0NsaWVudBJNCiRvcHRpb25fMThfaW5zZXJ0ZWRfcGFja2V0c190b19zZXJ2ZXIYBSABKA1SH29wdGlvbjE4SW5zZXJ0ZWRQYWNrZXRzVG9TZXJ2ZXISSwojb3B0aW9uXzE4X3JlbW92ZWRfcGFja2V0c190b19jbGllbnQYBiABKA1SHm9wdGlvbjE4UmVtb3ZlZFBhY2tldHNUb0NsaWVudBJNCiRvcHRpb25fMzdfaW5zZXJ0ZWRfcGFja2V0c190b19zZXJ2ZXIYByABKA1SH29wdGlvbjM3SW5zZXJ0ZWRQYWNrZXRzVG9TZXJ2ZXISSwojb3B0aW9uXzM3X3JlbW92ZWRfcGFja2V0c190b19jbGllbnQYCCABKA1SHm9wdGlvbjM3UmVtb3ZlZFBhY2tldHNUb0NsaWVudBJXCilvdXRnb2luZ19tdHVfZXhjZWVkZWRfcGFja2V0c19mcm9tX2NsaWVudBgJIAEoDVIkb3V0Z29pbmdNdHVFeGNlZWRlZFBhY2tldHNGcm9tQ2xpZW50EnsKEGFkZGl0aW9uYWxfc3RhdHMYCiADKAsyUC5leHRlbnNpb24uR2V0T2ZmbG9hZGVkQXBwc1N0YXRpc3RpY3NSZXNwb25zZS5ESENQdjZSQVN0YXRzLkFkZGl0aW9uYWxTdGF0c0VudHJ5Ug9hZGRpdGlvbmFsU3RhdHMaQgoUQWRkaXRpb25hbFN0YXRzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARq5BgoMUFBQb2VJQVN0YXRzEj4KHGluX2Vycm9yX3BhY2tldHNfZnJvbV9jbGllbnQYASABKA1SGGluRXJyb3JQYWNrZXRzRnJvbUNsaWVudBI+Chxpbl9lcnJvcl9wYWNrZXRzX2Zyb21fc2VydmVyGAIgASgNUhhpbkVycm9yUGFja2V0c0Zyb21TZXJ2ZXISMwoWaW5fcGFja2V0c19mcm9tX2NsaWVudBgDIAEoDVITaW5QYWNrZXRzRnJvbUNsaWVudBIzChZpbl9wYWNrZXRzX2Zyb21fc2VydmVyGAQgASgNUhNpblBhY2tldHNGcm9tU2VydmVyEjEKFW91dF9wYWNrZXRzX3RvX3NlcnZlchgFIAEoDVISb3V0UGFja2V0c1RvU2VydmVyEjEKFW91dF9wYWNrZXRzX3RvX2NsaWVudBgGIAEoDVISb3V0UGFja2V0c1RvQ2xpZW50EmAKLnZlbmRvcl9zcGVjaWZpY190YWdfaW5zZXJ0ZWRfcGFja2V0c190b19zZXJ2ZXIYByABKA1SKHZlbmRvclNwZWNpZmljVGFnSW5zZXJ0ZWRQYWNrZXRzVG9TZXJ2ZXISXgotdmVuZG9yX3NwZWNpZmljX3RhZ19yZW1vdmVkX3BhY2tldHNfdG9fY2xpZW50GAggASgNUid2ZW5kb3JTcGVjaWZpY1RhZ1JlbW92ZWRQYWNrZXRzVG9DbGllbnQSVwopb3V0Z29pbmdfbXR1X2V4Y2VlZGVkX3BhY2tldHNfZnJvbV9jbGllbnQYCSABKA1SJG91dGdvaW5nTXR1RXhjZWVkZWRQYWNrZXRzRnJvbUNsaWVudBJ6ChBhZGRpdGlvbmFsX3N0YXRzGAogAygLMk8uZXh0ZW5zaW9uLkdldE9mZmxvYWRlZEFwcHNTdGF0aXN0aWNzUmVzcG9uc2UuUFBQb2VJQVN0YXRzLkFkZGl0aW9uYWxTdGF0c0VudHJ5Ug9hZGRpdGlvbmFsU3RhdHMaQgoUQWRkaXRpb25hbFN0YXRzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AUIHCgVzdGF0cyL4CQoPR2V0VmFsdWVSZXF1ZXN0EjsKCGRpc3RhbmNlGAEgASgLMh0uZXh0ZW5zaW9uLkdldERpc3RhbmNlUmVxdWVzdEgAUghkaXN0YW5jZRI7Cgd1bmlJbmZvGAIgASgLMh8uZXh0ZW5zaW9uLkdldE9udVVuaUluZm9SZXF1ZXN0SABSB3VuaUluZm8SQQoLb2x0UG9ydEluZm8YAyABKAsyHS5leHRlbnNpb24uR2V0T2x0UG9ydENvdW50ZXJzSABSC29sdFBvcnRJbmZvEkkKDm9udU9wdGljYWxJbmZvGAQgASgLMh8uZXh0ZW5zaW9uLkdldE9udVBvbk9wdGljYWxJbmZvSABSDm9udU9wdGljYWxJbmZvElIKDWV0aEJyaWRnZVBvcnQYBSABKAsyKi5leHRlbnNpb24uR2V0T251RXRoZXJuZXRCcmlkZ2VQb3J0SGlzdG9yeUgAUg1ldGhCcmlkZ2VQb3J0Ej0KCmZlY0hpc3RvcnkYBiABKAsyGy5leHRlbnNpb24uR2V0T251RmVjSGlzdG9yeUgAUgpmZWNIaXN0b3J5EkIKCm9udVBvbkluZm8YByABKAsyIC5leHRlbnNpb24uR2V0T251Q291bnRlcnNSZXF1ZXN0SABSCm9udVBvbkluZm8STAoHb251SW5mbxgIIAEoCzIwLmV4dGVuc2lvbi5HZXRPbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG1SZXF1ZXN0SABSB29udUluZm8SOAoHcnhQb3dlchgJIAEoCzIcLmV4dGVuc2lvbi5HZXRSeFBvd2VyUmVxdWVzdEgAUgdyeFBvd2VyEksKDG9udU9tY2lTdGF0cxgKIAEoCzIlLmV4dGVuc2lvbi5HZXRPbnVPbWNpVHhSeFN0YXRzUmVxdWVzdEgAUgxvbnVPbWNpU3RhdHMSQQoKb2x0UnhQb3dlchgLIAEoCzIfLmV4dGVuc2lvbi5HZXRPbHRSeFBvd2VyUmVxdWVzdEgAUgpvbHRSeFBvd2VyElQKD29udUFjdGl2ZUFsYXJtcxgMIAEoCzIoLmV4dGVuc2lvbi5HZXRPbnVPbWNpQWN0aXZlQWxhcm1zUmVxdWVzdEgAUg9vbnVBY3RpdmVBbGFybXMSXgoSb2ZmbG9hZGVkQXBwc1N0YXRzGA0gASgLMiwuZXh0ZW5zaW9uLkdldE9mZmxvYWRlZEFwcHNTdGF0aXN0aWNzUmVxdWVzdEgAUhJvZmZsb2FkZWRBcHBzU3RhdHMSVQoQb251QWxsb2NHZW1TdGF0cxgOIAEoCzInLmV4dGVuc2lvbi5HZXRPbnVBbGxvY0dlbUhpc3RvcnlSZXF1ZXN0SABSEG9udUFsbG9jR2VtU3RhdHMSUAoPb251U3RhdHNGcm9tT2x0GA8gASgLMiQuZXh0ZW5zaW9uLkdldE9udVN0YXRzRnJvbU9sdFJlcXVlc3RIAFIPb251U3RhdHNGcm9tT2x0EkEKC29sdFBvblN0YXRzGBAgASgLMh0uZXh0ZW5zaW9uLkdldFBvblN0YXRzUmVxdWVzdEgAUgtvbHRQb25TdGF0cxJBCgtvbHRObmlTdGF0cxgRIAEoCzIdLmV4dGVuc2lvbi5HZXROTklTdGF0c1JlcXVlc3RIAFILb2x0Tm5pU3RhdHNCCQoHcmVxdWVzdCLnDQoQR2V0VmFsdWVSZXNwb25zZRI6CgZzdGF0dXMYASABKA4yIi5leHRlbnNpb24uR2V0VmFsdWVSZXNwb25zZS5TdGF0dXNSBnN0YXR1cxJFCgllcnJSZWFzb24YAiABKA4yJy5leHRlbnNpb24uR2V0VmFsdWVSZXNwb25zZS5FcnJvclJlYXNvblIJZXJyUmVhc29uEjwKCGRpc3RhbmNlGAMgASgLMh4uZXh0ZW5zaW9uLkdldERpc3RhbmNlUmVzcG9uc2VIAFIIZGlzdGFuY2USPAoHdW5pSW5mbxgEIAEoCzIgLmV4dGVuc2lvbi5HZXRPbnVVbmlJbmZvUmVzcG9uc2VIAFIHdW5pSW5mbxJLCgxwb3J0Q291dG5lcnMYBSABKAsyJS5leHRlbnNpb24uR2V0T2x0UG9ydENvdW50ZXJzUmVzcG9uc2VIAFIMcG9ydENvdXRuZXJzElEKDm9udU9wdGljYWxJbmZvGAYgASgLMicuZXh0ZW5zaW9uLkdldE9udVBvbk9wdGljYWxJbmZvUmVzcG9uc2VIAFIOb251T3B0aWNhbEluZm8SYgoRZXRoQnJpZGdlUG9ydEluZm8YByABKAsyMi5leHRlbnNpb24uR2V0T251RXRoZXJuZXRCcmlkZ2VQb3J0SGlzdG9yeVJlc3BvbnNlSABSEWV0aEJyaWRnZVBvcnRJbmZvEkUKCmZlY0hpc3RvcnkYCCABKAsyIy5leHRlbnNpb24uR2V0T251RmVjSGlzdG9yeVJlc3BvbnNlSABSCmZlY0hpc3RvcnkSSwoOb251UG9uQ291bnRlcnMYCSABKAsyIS5leHRlbnNpb24uR2V0T251Q291bnRlcnNSZXNwb25zZUgAUg5vbnVQb25Db3VudGVycxJVCgtvbnVDb3VudGVycxgKIAEoCzIxLmV4dGVuc2lvbi5HZXRPbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG1SZXNwb25zZUgAUgtvbnVDb3VudGVycxI5CgdyeFBvd2VyGAsgASgLMh0uZXh0ZW5zaW9uLkdldFJ4UG93ZXJSZXNwb25zZUgAUgdyeFBvd2VyEkwKDG9udU9tY2lTdGF0cxgMIAEoCzImLmV4dGVuc2lvbi5HZXRPbnVPbWNpVHhSeFN0YXRzUmVzcG9uc2VIAFIMb251T21jaVN0YXRzEkIKCm9sdFJ4UG93ZXIYDSABKAsyIC5leHRlbnNpb24uR2V0T2x0UnhQb3dlclJlc3BvbnNlSABSCm9sdFJ4UG93ZXISVQoPb251QWN0aXZlQWxhcm1zGA4gASgLMikuZXh0ZW5zaW9uLkdldE9udU9tY2lBY3RpdmVBbGFybXNSZXNwb25zZUgAUg9vbnVBY3RpdmVBbGFybXMSXwoSb2ZmbG9hZGVkQXBwc1N0YXRzGA8gASgLMi0uZXh0ZW5zaW9uLkdldE9mZmxvYWRlZEFwcHNTdGF0aXN0aWNzUmVzcG9uc2VIAFISb2ZmbG9hZGVkQXBwc1N0YXRzEmYKGG9udUFsbG9jR2VtU3RhdHNSZXNwb25zZRgQIAEoCzIoLmV4dGVuc2lvbi5HZXRPbnVBbGxvY0dlbUhpc3RvcnlSZXNwb25zZUgAUhhvbnVBbGxvY0dlbVN0YXRzUmVzcG9uc2USYQoXb251U3RhdHNGcm9tT2x0UmVzcG9uc2UYESABKAsyJS5leHRlbnNpb24uR2V0T251U3RhdHNGcm9tT2x0UmVzcG9uc2VIAFIXb251U3RhdHNGcm9tT2x0UmVzcG9uc2USUgoTb2x0UG9uU3RhdHNSZXNwb25zZRgSIAEoCzIeLmV4dGVuc2lvbi5HZXRQb25TdGF0c1Jlc3BvbnNlSABSE29sdFBvblN0YXRzUmVzcG9uc2USUgoTb2x0Tm5pU3RhdHNSZXNwb25zZRgTIAEoCzIeLmV4dGVuc2lvbi5HZXROTklTdGF0c1Jlc3BvbnNlSABSE29sdE5uaVN0YXRzUmVzcG9uc2UiMQoGU3RhdHVzEhQKEFNUQVRVU19VTkRFRklORUQQABIGCgJPSxABEgkKBUVSUk9SEAIirQEKC0Vycm9yUmVhc29uEhQKEFJFQVNPTl9VTkRFRklORUQQABIPCgtVTlNVUFBPUlRFRBABEhUKEUlOVkFMSURfREVWSUNFX0lEEAISFQoRSU5WQUxJRF9QT1JUX1RZUEUQAxILCgdUSU1FT1VUEAQSFAoQSU5WQUxJRF9SRVFfVFlQRRAFEhIKDklOVEVSTkFMX0VSUk9SEAYSEgoOSU5WQUxJRF9ERVZJQ0UQB0IKCghyZXNwb25zZSKsAQoQQXBwT2ZmbG9hZENvbmZpZxImCg5lbmFibGVESENQdjRSQRgBIAEoCFIOZW5hYmxlREhDUHY0UkESJgoOZW5hYmxlREhDUHY2UkEYAiABKAhSDmVuYWJsZURIQ1B2NlJBEiQKDWVuYWJsZVBQUG9FSUEYAyABKAhSDWVuYWJsZVBQUG9FSUESIgoMYWNjZXNzTm9kZUlEGAQgASgJUgxhY2Nlc3NOb2RlSUQi/gEKE0FwcE9mZmxvYWRPbnVDb25maWcSIAoLb251RGV2aWNlSWQYASABKAlSC29udURldmljZUlkEksKCnBlclVuaUluZm8YBSADKAsyKy5leHRlbnNpb24uQXBwT2ZmbG9hZE9udUNvbmZpZy5QZXJVbmlDb25maWdSCnBlclVuaUluZm8aeAoMUGVyVW5pQ29uZmlnEiQKDWFnZW50UmVtb3RlSUQYAiABKAlSDWFnZW50UmVtb3RlSUQSJgoOYWdlbnRDaXJjdWl0SUQYAyABKAlSDmFnZW50Q2lyY3VpdElEEhoKCG9udVVuaUlkGAQgASgNUghvbnVVbmlJZCL6AQoPU2V0VmFsdWVSZXF1ZXN0EjgKDGFsYXJtX2NvbmZpZxgBIAEoCzITLmNvbmZpZy5BbGFybUNvbmZpZ0gAUgthbGFybUNvbmZpZxJLChJhcHBfb2ZmbG9hZF9jb25maWcYAiABKAsyGy5leHRlbnNpb24uQXBwT2ZmbG9hZENvbmZpZ0gAUhBhcHBPZmZsb2FkQ29uZmlnElUKFmFwcF9vZmZsb2FkX29udV9jb25maWcYAyABKAsyHi5leHRlbnNpb24uQXBwT2ZmbG9hZE9udUNvbmZpZ0gAUhNhcHBPZmZsb2FkT251Q29uZmlnQgkKB3JlcXVlc3QixAIKEFNldFZhbHVlUmVzcG9uc2USOgoGc3RhdHVzGAEgASgOMiIuZXh0ZW5zaW9uLlNldFZhbHVlUmVzcG9uc2UuU3RhdHVzUgZzdGF0dXMSRQoJZXJyUmVhc29uGAIgASgOMicuZXh0ZW5zaW9uLlNldFZhbHVlUmVzcG9uc2UuRXJyb3JSZWFzb25SCWVyclJlYXNvbiIxCgZTdGF0dXMSFAoQU1RBVFVTX1VOREVGSU5FRBAAEgYKAk9LEAESCQoFRVJST1IQAiJ6CgtFcnJvclJlYXNvbhIUChBSRUFTT05fVU5ERUZJTkVEEAASDwoLVU5TVVBQT1JURUQQARIVChFJTlZBTElEX0RFVklDRV9JRBACEhkKFUlOVkFMSURfT05VX0RFVklDRV9JRBADEhIKDklOVkFMSURfVU5JX0lEEAQiaQoVU2luZ2xlR2V0VmFsdWVSZXF1ZXN0EhoKCHRhcmdldElkGAEgASgJUgh0YXJnZXRJZBI0CgdyZXF1ZXN0GAIgASgLMhouZXh0ZW5zaW9uLkdldFZhbHVlUmVxdWVzdFIHcmVxdWVzdCJRChZTaW5nbGVHZXRWYWx1ZVJlc3BvbnNlEjcKCHJlc3BvbnNlGAEgASgLMhsuZXh0ZW5zaW9uLkdldFZhbHVlUmVzcG9uc2VSCHJlc3BvbnNlImkKFVNpbmdsZVNldFZhbHVlUmVxdWVzdBIaCgh0YXJnZXRJZBgBIAEoCVIIdGFyZ2V0SWQSNAoHcmVxdWVzdBgCIAEoCzIaLmV4dGVuc2lvbi5TZXRWYWx1ZVJlcXVlc3RSB3JlcXVlc3QiUQoWU2luZ2xlU2V0VmFsdWVSZXNwb25zZRI3CghyZXNwb25zZRgBIAEoCzIbLmV4dGVuc2lvbi5TZXRWYWx1ZVJlc3BvbnNlUghyZXNwb25zZTKzAQoJRXh0ZW5zaW9uElIKC0dldEV4dFZhbHVlEiAuZXh0ZW5zaW9uLlNpbmdsZUdldFZhbHVlUmVxdWVzdBohLmV4dGVuc2lvbi5TaW5nbGVHZXRWYWx1ZVJlc3BvbnNlElIKC1NldEV4dFZhbHVlEiAuZXh0ZW5zaW9uLlNpbmdsZVNldFZhbHVlUmVxdWVzdBohLmV4dGVuc2lvbi5TaW5nbGVTZXRWYWx1ZVJlc3BvbnNlQlIKHW9yZy5vcGVuY29yZC52b2x0aGEuZXh0ZW5zaW9uWjFnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vZXh0ZW5zaW9uSp7rAQoHEgUOAMEFAQrxBAoBDBIDDgASMuYEIENvcHlyaWdodCAyMDE4LTIwMjQgT3BlbiBOZXR3b3JraW5nIEZvdW5kYXRpb24gKE9ORikgYW5kIHRoZSBPTkYgQ29udHJpYnV0b3JzCgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6CgogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKCAoBCBIDEABICgkKAggLEgMQAEgKCAoBCBIDEQA2CgkKAggBEgMRADYKCAoBAhIDEwASCgkKAgMAEgMVACgKCQoCAwESAxYAJQoJ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Q29uZmlnUglzaXBDb25maWcSPwoKdm9pcENvbmZpZxgCIAEoCzIfLnZvaXBfc3lzdGVtX3Byb2ZpbGUuVm9pcENvbmZpZ1IKdm9pcENvbmZpZyKVBAoKVm9pcENvbmZpZxJFCgxpcEhvc3RDb25maWcYASABKAsyIS52b2lwX3N5c3RlbV9wcm9maWxlLklwSG9zdENvbmZpZ1IMaXBIb3N0Q29uZmlnEkUKDHRjcFVkcENvbmZpZxgCIAEoCzIhLnZvaXBfc3lzdGVtX3Byb2ZpbGUuVGNwVWRwQ29uZmlnUgx0Y3BVZHBDb25maWcSRQoMdm9pcFZvaWNlQ3RwGAMgASgLMiEudm9pcF9zeXN0ZW1fcHJvZmlsZS5Wb2lwVm9pY2VDdHBSDHZvaXBWb2ljZUN0cBJRChB2b2lwTWVkaWFQcm9maWxlGAQgASgLMiUudm9pcF9zeXN0ZW1fcHJvZmlsZS5Wb2lwTWVkaWFQcm9maWxlUhB2b2lwTWVkaWFQcm9maWxlEloKE3ZvaWNlU2VydmljZVByb2ZpbGUYBSABKAsyKC52b2lwX3N5c3RlbV9wcm9maWxlLlZvaWNlU2VydmljZVByb2ZpbGVSE3ZvaWNlU2VydmljZVByb2ZpbGUSPwoKcnRwUHJvZmlsZRgGIAEoCzIfLnZvaXBfc3lzdGVtX3Byb2ZpbGUuUnRwUHJvZmlsZVIKcnRwUHJvZmlsZRJCCgtwcHRwUG90c1VuaRgHIAEoCzIgLnZvaXBfc3lzdGVtX3Byb2ZpbGUuUHB0cFBvdHNVbmlSC3BwdHBQb3RzVW5pIpACCgxJcEhvc3RDb25maWcSHAoJaXBPcHRpb25zGAEgASgNUglpcE9wdGlvbnMSJAoNb251SWRlbnRpZmllchgCIAEoCVINb251SWRlbnRpZmllchIcCglpcEFkZHJlc3MYAyABKAlSCWlwQWRkcmVzcxISCgRtYXNrGAQgASgJUgRtYXNrEhgKB2dhdGV3YXkYBSABKAlSB2dhdGV3YXkSHgoKcHJpbWFyeURucxgGIAEoCVIKcHJpbWFyeURucxIiCgxzZWNvbmRhcnlEbnMYByABKAlSDHNlY29uZGFyeURucxIsChFyZWxheUFnZW50T3B0aW9ucxgIIAEoCVIRcmVsYXlBZ2VudE9wdGlvbnMiRgoMVGNwVWRwQ29uZmlnEhoKCHByb3RvY29sGAEgASgNUghwcm90b2NvbBIaCgh0b3NGaWVsZBgCIAEoCVIIdG9zRmllbGQiNgoMVm9pcFZvaWNlQ3RwEiYKDnNpZ25hbGxpbmdDb2RlGAEgASgNUg5zaWduYWxsaW5nQ29kZSKWBQoQVm9pcE1lZGlhUHJvZmlsZRIYCgdmYXhNb2RlGAEgASgNUgdmYXhNb2RlEigKD2NvZGVjU2VsZWN0aW9uMRgCIAEoDVIPY29kZWNTZWxlY3Rpb24xEjYKFnBhY2tldFBlcmlvZFNlbGVjdGlvbjEYAyABKA1SFnBhY2tldFBlcmlvZFNlbGVjdGlvbjESMAoTc2lsZW5jZVN1cHByZXNzaW9uMRgEIAEoDVITc2lsZW5jZVN1cHByZXNzaW9uMRIoCg9jb2RlY1NlbGVjdGlvbjIYBSABKA1SD2NvZGVjU2VsZWN0aW9uMhI2ChZwYWNrZXRQZXJpb2RTZWxlY3Rpb24yGAYgASgNUhZwYWNrZXRQZXJpb2RTZWxlY3Rpb24yEjAKE3NpbGVuY2VTdXBwcmVzc2lvbjIYByABKA1SE3NpbGVuY2VTdXBwcmVzc2lvbjISKAoPY29kZWNTZWxlY3Rpb24zGAggASgNUg9jb2RlY1NlbGVjdGlvbjMSNgoWcGFja2V0UGVyaW9kU2VsZWN0aW9uMxgJIAEoDVIWcGFja2V0UGVyaW9kU2VsZWN0aW9uMxIwChNzaWxlbmNlU3VwcHJlc3Npb24zGAogASgNUhNzaWxlbmNlU3VwcHJlc3Npb24zEigKD2NvZGVjU2VsZWN0aW9uNBgLIAEoDVIPY29kZWNTZWxlY3Rpb240EjYKFnBhY2tldFBlcmlvZFNlbGVjdGlvbjQYDCABKA1SFnBhY2tldFBlcmlvZFNlbGVjdGlvbjQSMAoTc2lsZW5jZVN1cHByZXNzaW9uNBgNIAEoDVITc2lsZW5jZVN1cHByZXNzaW9uNBIYCgdvb2JEdG1mGA4gASgNUgdvb2JEdG1mIvMCChNWb2ljZVNlcnZpY2VQcm9maWxlEioKEGFubm91bmNlbWVudFR5cGUYASABKA1SEGFubm91bmNlbWVudFR5cGUSIgoMaml0dGVyVGFyZ2V0GAIgASgNUgxqaXR0ZXJUYXJnZXQSKAoPaml0dGVyQnVmZmVyTWF4GAMgASgNUg9qaXR0ZXJCdWZmZXJNYXgSJAoNZWNob0NhbmNlbEluZBgEIAEoCFINZWNob0NhbmNlbEluZBIwChNwc3RuUHJvdG9jb2xWYXJpYW50GAUgASgNUhNwc3RuUHJvdG9jb2xWYXJpYW50EigKD2R0bWZEaWdpdExldmVscxgGIAEoDVIPZHRtZkRpZ2l0TGV2ZWxzEiwKEWR0bWZEaWdpdER1cmF0aW9uGAcgASgNUhFkdG1mRGlnaXREdXJhdGlvbhIyChRob29rRmxhc2hNaW5pbXVtVGltZRgIIAEoDVIUaG9va0ZsYXNoTWluaW11bVRpbWUi+AEKClJ0cFByb2ZpbGUSIgoMbG9jYWxQb3J0TWluGAEgASgNUgxsb2NhbFBvcnRNaW4SIgoMbG9jYWxQb3J0TWF4GAIgASgNUgxsb2NhbFBvcnRNYXgSGgoIZHNjcE1hcmsYAyABKAlSCGRzY3BNYXJrEigKD3BpZ2d5QmFja0V2ZW50cxgEIAEoDVIPcGlnZ3lCYWNrRXZlbnRzEh4KCnRvbmVFdmVudHMYBSABKA1SCnRvbmVFdmVudHMSHgoKZHRtZkV2ZW50cxgGIAEoDVIKZHRtZkV2ZW50cxIcCgljYXNFdmVudHMYByABKA1SCWNhc0V2ZW50cyLDAgoLUHB0cFBvdHNVbmkSEAoDYXJjGAEgASgJUgNhcmMSIAoLYXJjSW50ZXJ2YWwYAiABKAlSC2FyY0ludGVydmFsEhwKCWltcGVkYW5jZRgDIAEoDVIJaW1wZWRhbmNlEioKEHRyYW5zbWlzc2lvblBhdGgYBCABKA1SEHRyYW5zbWlzc2lvblBhdGgSFgoGcnhHYWluGAUgASgRUgZyeEdhaW4SFgoGdHhHYWluGAYgASgRUgZ0eEdhaW4SKgoQcG90c0hvbGRPdmVyVGltZRgHIAEoDVIQcG90c0hvbGRPdmVyVGltZRIuChJub21pbmFsRmVlZFZvbHRhZ2UYCCABKA1SEm5vbWluYWxGZWVkVm9sdGFnZRIqChBsb3NzT2ZTb2Z0U3dpdGNoGAkgASgNUhBsb3NzT2ZTb2Z0U3dpdGNoIssDCglTaXBDb25maWcSQgoLc2lwVXNlckRhdGEYASABKAsyIC52b2lwX3N5c3RlbV9wcm9maWxlLlNpcFVzZXJEYXRhUgtzaXBVc2VyRGF0YRJLCg5zaXBBZ2VudENvbmZpZxgCIAEoCzIjLnZvaXBfc3lzdGVtX3Byb2ZpbGUuU2lwQWdlbnRDb25maWdSDnNpcEFnZW50Q29uZmlnEk4KD25ldHdvcmtEaWFsUGxhbhgDIAEoCzIkLnZvaXBfc3lzdGVtX3Byb2ZpbGUuTmV0d29ya0RpYWxQbGFuUg9uZXR3b3JrRGlhbFBsYW4SYwoWdm9pcEZlYXR1cmVBY2Nlc3NDb2RlcxgEIAEoCzIrLnZvaXBfc3lzdGVtX3Byb2ZpbGUuVm9pcEZlYXR1cmVBY2Nlc3NDb2Rlc1IWdm9pcEZlYXR1cmVBY2Nlc3NDb2RlcxJ4Ch12b2lwQXBwbGljYXRpb25TZXJ2aWNlUHJvZmlsZRgFIAEoCzIyLnZvaXBfc3lzdGVtX3Byb2ZpbGUuVm9pcEFwcGxpY2F0aW9uU2VydmljZVByb2ZpbGVSHXZvaXBBcHBsaWNhdGlvblNlcnZpY2VQcm9maWxlItMCCgtTaXBVc2VyRGF0YRIgCgt1c2VyUGFydEFvchgBIAEoCVILdXNlclBhcnRBb3ISWgoTdXNlcm5hbWVBbmRQYXNzd29yZBgCIAEoCzIoLnZvaXBfc3lzdGVtX3Byb2ZpbGUuVXNlcm5hbWVBbmRQYXNzd29yZFITdXNlcm5hbWVBbmRQYXNzd29yZBI0ChV2b2ljZW1haWxTZXJ2ZXJTaXBVcmkYAyABKAlSFXZvaWNlbWFpbFNlcnZlclNpcFVyaRJQCiN2b2ljZW1haWxTdWJzY3JpcHRpb25FeHBpcmF0aW9uVGltZRgEIAEoBVIjdm9pY2VtYWlsU3Vic2NyaXB0aW9uRXhwaXJhdGlvblRpbWUSIgoMcmVsZWFzZVRpbWVyGAUgASgFUgxyZWxlYXNlVGltZXISGgoIcm9oVGltZXIYBiABKAVSCHJvaFRpbWVyIqMECg5TaXBBZ2VudENvbmZpZxIyChRvdXRib3VuZFByb3h5QWRkcmVzcxgBIAEoCVIUb3V0Ym91bmRQcm94eUFkZHJlc3MSJAoNcHJpbWFyeVNpcERucxgCIAEoCVINcHJpbWFyeVNpcERucxIoCg9zZWNvbmRhcnlTaXBEbnMYAyABKAlSD3NlY29uZGFyeVNpcERucxIkCg1zaXBSZWdFeHBUaW1lGAQgASgFUg1zaXBSZWdFeHBUaW1lEjQKFXNpcFJlcmVnSGVhZFN0YXJ0VGltZRgFIAEoBVIVc2lwUmVyZWdIZWFkU3RhcnRUaW1lEiIKDFNpcFJlZ2lzdHJhchgGIAEoCVIMU2lwUmVnaXN0cmFyEh4KCnNvZnRTd2l0Y2gYByABKAlSCnNvZnRTd2l0Y2gSUQoQc2lwUmVzcG9uc2VUYWJsZRgIIAEoCzIlLnZvaXBfc3lzdGVtX3Byb2ZpbGUuU2lwUmVzcG9uc2VUYWJsZVIQc2lwUmVzcG9uc2VUYWJsZRI6ChhzaXBPcHRpb25UcmFuc21pdENvbnRyb2wYCSABKAhSGHNpcE9wdGlvblRyYW5zbWl0Q29udHJvbBIiCgxzaXBVcmlGb3JtYXQYCiABKAlSDHNpcFVyaUZvcm1hdBI6ChhyZWR1bmRhbnRTaXBBZ2VudFBvaW50ZXIYCyABKAlSGHJlZHVuZGFudFNpcEFnZW50UG9pbnRlciLlAQoPTmV0d29ya0RpYWxQbGFuEjAKE2NyaXRpY2FsRGlhbFRpbWVvdXQYASABKA1SE2NyaXRpY2FsRGlhbFRpbWVvdXQSLgoScGFydGlhbERpYWxUaW1lb3V0GAIgASgNUhJwYXJ0aWFsRGlhbFRpbWVvdXQSJgoOZGlhbFBsYW5Gb3JtYXQYAyABKA1SDmRpYWxQbGFuRm9ybWF0EkgKDWRpYWxQbGFuVGFibGUYBCABKAsyIi52b2lwX3N5c3RlbV9wcm9maWxlLkRpYWxQbGFuVGFibGVSDWRpYWxQbGFuVGFibGUiQQoTVXNlcm5hbWVBbmRQYXNzd29yZBIqChB2YWxpZGF0aW9uU2NoZW1lGAEgASgFUhB2YWxpZGF0aW9uU2NoZW1lInIKEFNpcFJlc3BvbnNlVGFibGUSKAoPc2lwUmVzcG9uc2VDb2RlGAEgASgJUg9zaXBSZXNwb25zZUNvZGUSEgoEdG9uZRgCIAEoCVIEdG9uZRIgCgt0ZXh0TWVzc2FnZRgDIAEoCVILdGV4dE1lc3NhZ2UioQEKDURpYWxQbGFuVGFibGUSHgoKZGlhbFBsYW5JZBgBIAEoDVIKZGlhbFBsYW5JZBIWCgZhY3Rpb24YAiABKA1SBmFjdGlvbhIkCg1kaWFsUGxhblRva2VuGAMgASgJUg1kaWFsUGxhblRva2VuEjIKFGRpYWxQbGFuVGFibGVNYXhTaXplGAQgASgNUhRkaWFsUGxhblRhYmxlTWF4U2l6ZSLSBAoWVm9pcEZlYXR1cmVBY2Nlc3NDb2RlcxIsChFjYW5jZWxDYWxsV2FpdGluZxgBIAEoCVIRY2FuY2VsQ2FsbFdhaXRpbmcSGgoIY2FsbEhvbGQYAiABKAlSCGNhbGxIb2xkEhoKCGNhbGxQYXJrGAMgASgJUghjYWxsUGFyaxIqChBjYWxsZXJJZEFjdGl2YXRlGAQgASgJUhBjYWxsZXJJZEFjdGl2YXRlEi4KEmNhbGxlcklkRGVhY3RpdmF0ZRgFIAEoCVISY2FsbGVySWREZWFjdGl2YXRlEjYKFmRvTm90RGlzdHVyYkFjdGl2YXRpb24YBiABKAlSFmRvTm90RGlzdHVyYkFjdGl2YXRpb24SOgoYZG9Ob3REaXN0dXJiRGVhY3RpdmF0aW9uGAcgASgJUhhkb05vdERpc3R1cmJEZWFjdGl2YXRpb24SNAoVZG9Ob3REaXN0dXJiUGluQ2hhbmdlGAggASgJUhVkb05vdERpc3R1cmJQaW5DaGFuZ2USNgoWZW1lcmdlbmN5U2VydmljZU51bWJlchgJIAEoCVIWZW1lcmdlbmN5U2VydmljZU51bWJlchIoCg9pbnRlcmNvbVNlcnZpY2UYCiABKAlSD2ludGVyY29tU2VydmljZRI2ChZ1bmF0dGVuZGVkQ2FsbFRyYW5zZmVyGAsgASgJUhZ1bmF0dGVuZGVkQ2FsbFRyYW5zZmVyEjIKFGF0dGVuZGVkQ2FsbFRyYW5zZmVyGAwgASgJUhRhdHRlbmRlZENhbGxUcmFuc2ZlciKXBAodVm9pcEFwcGxpY2F0aW9uU2VydmljZVByb2ZpbGUSIAoLY2lkRmVhdHVyZXMYASABKA1SC2NpZEZlYXR1cmVzEjAKE2NhbGxXYWl0aW5nRmVhdHVyZXMYAiABKA1SE2NhbGxXYWl0aW5nRmVhdHVyZXMSRgoeY2FsbFByb2dyZXNzT3JUcmFuc2ZlckZlYXR1cmVzGAMgASgNUh5jYWxsUHJvZ3Jlc3NPclRyYW5zZmVyRmVhdHVyZXMSOgoYY2FsbFByZXNlbnRhdGlvbkZlYXR1cmVzGAQgASgNUhhjYWxsUHJlc2VudGF0aW9uRmVhdHVyZXMSMgoUZGlyZWN0Q29ubmVjdEZlYXR1cmUYBSABKA1SFGRpcmVjdENvbm5lY3RGZWF0dXJlEjgKF2RpcmVjdENvbm5lY3RVcmlQb2ludGVyGAYgASgJUhdkaXJlY3RDb25uZWN0VXJpUG9pbnRlchI+ChpicmlkZ2VkTGluZUFnZW50VXJpUG9pbnRlchgHIAEoCVIaYnJpZGdlZExpbmVBZ2VudFVyaVBvaW50ZXISQAobY29uZmVyZW5jZUZhY3RvcnlVcmlQb2ludGVyGAggASgJUhtjb25mZXJlbmNlRmFjdG9yeVVyaVBvaW50ZXISLgoSZGlhbFRvbmVEZWxheVRpbWVyGAkgASgNUhJkaWFsVG9uZURlbGF5VGltZXJCZgonb3JnLm9wZW5jb3JkLnZvbHRoYS52b2lwX3N5c3RlbV9wcm9maWxlWjtnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vdm9pcF9zeXN0ZW1fcHJvZmlsZUqkTAoHEgUOAMQBAQrxBAoBDBIDDgASMuYEIENvcHlyaWdodCAyMDE4LTIwMjQgT3BlbiBOZXR3b3JraW5nIEZvdW5kYXRpb24gKE9ORikgYW5kIHRoZSBPTkYgQ29udHJpYnV0b3JzCgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6CgogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09O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dGFuY2VzGAIgAygLMhUub21jaS5NaWJJbnN0YW5jZURhdGFSCWluc3RhbmNlcyI+Cg1NYW5hZ2VkRW50aXR5EhkKCGNsYXNzX2lkGAEgASgNUgdjbGFzc0lkEhIKBG5hbWUYAiABKAlSBG5hbWUiMAoLTWVzc2FnZVR5cGUSIQoMbWVzc2FnZV90eXBlGAEgASgNUgttZXNzYWdlVHlwZSLQAgoNTWliRGV2aWNlRGF0YRIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhgKB2NyZWF0ZWQYAiABKAlSB2NyZWF0ZWQSJAoObGFzdF9zeW5jX3RpbWUYAyABKAlSDGxhc3RTeW5jVGltZRIiCg1taWJfZGF0YV9zeW5jGAQgASgNUgttaWJEYXRhU3luYxIYCgd2ZXJzaW9uGAUgASgNUgd2ZXJzaW9uEiwKB2NsYXNzZXMYBiADKAsyEi5vbWNpLk1pYkNsYXNzRGF0YVIHY2xhc3NlcxI+ChBtYW5hZ2VkX2VudGl0aWVzGAcgAygLMhMub21jaS5NYW5hZ2VkRW50aXR5Ug9tYW5hZ2VkRW50aXRpZXMSNgoNbWVzc2FnZV90eXBlcxgIIAMoCzIRLm9tY2kuTWVzc2FnZVR5cGVSDG1lc3NhZ2VUeXBlcyIuChFPcGVuT21jaUV2ZW50VHlwZSIZCgVUeXBlcxIQCgxzdGF0ZV9jaGFuZ2UQACJWCg1PcGVuT21jaUV2ZW50EjEKBHR5cGUYASABKA4yHS5vbWNpLk9wZW5PbWNpRXZlbnRUeXBlLlR5cGVzUgR0eXBlEhIKBGRhdGEYAiABKAlSBGRhdGFCSAoYb3JnLm9wZW5jb3JkLnZvbHRoYS5vbWNpWixnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vb21jaUq3EwoGEgQPAEkBCt4ECgEMEgMPABIa0wQKIENvcHlyaWdodCAyMDE4IC0gcHJlc2VudCB0aGUgb3JpZ2luYWwgYXV0aG9yIG9yIGF1dGhvcnMuCgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21w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dGl0eRIZCghjbGFzc19pZBgBIAEoDVIHY2xhc3NJZBISCgRuYW1lGAIgASgJUgRuYW1lIjUKEEFsYXJtTWVzc2FnZVR5cGUSIQoMbWVzc2FnZV90eXBlGAEgASgNUgttZXNzYWdlVHlwZSLqAgoPQWxhcm1EZXZpY2VEYXRhEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSGAoHY3JlYXRlZBgCIAEoCVIHY3JlYXRlZBIuChNsYXN0X2FsYXJtX3NlcXVlbmNlGAMgASgNUhFsYXN0QWxhcm1TZXF1ZW5jZRIkCg5sYXN0X3N5bmNfdGltZRgEIAEoCVIMbGFzdFN5bmNUaW1lEhgKB3ZlcnNpb24YBSABKA1SB3ZlcnNpb24SLgoHY2xhc3NlcxgGIAMoCzIULm9tY2kuQWxhcm1DbGFzc0RhdGFSB2NsYXNzZXMSQwoQbWFuYWdlZF9lbnRpdGllcxgHIAMoCzIYLm9tY2kuQWxhcm1NYW5hZ2VkRW50aXR5Ug9tYW5hZ2VkRW50aXRpZXMSOwoNbWVzc2FnZV90eXBlcxgIIAMoCzIWLm9tY2kuQWxhcm1NZXNzYWdlVHlwZVIMbWVzc2FnZVR5cGVzIj8KFkFsYXJtT3Blbk9tY2lFdmVudFR5cGUiJQoRT3Blbk9tY2lFdmVudFR5cGUSEAoMc3RhdGVfY2hhbmdlEAAibAoSQWxhcm1PcGVuT21jaUV2ZW50EkIKBHR5cGUYASABKA4yLi5vbWNpLkFsYXJtT3Blbk9tY2lFdmVudFR5cGUuT3Blbk9tY2lFdmVudFR5cGVSBHR5cGUSEgoEZGF0YRgCIAEoCVIEZGF0YUJIChhvcmcub3BlbmNvcmQudm9sdGhhLm9tY2laLGdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby9vbWNpSrcTCgYSBA8ASwEK3gQKAQwSAw8AEhrTBAogQ29weXJpZ2h0IDIwMTggLSBwcmVzZW50IHRoZSBvcmlnaW5hbCBhdXRob3Igb3IgYXV0aG9ycy4KCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhj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CgoDBAABEgMICBcKCwoEBAACABIDCQQSCg0KBQQAAgAEEgQJBAgZCgwKBQQAAgAFEgMJBAoKDAoFBAACAAESAwkLDQoMCgUEAAIAAxIDCRARCgsKBAQAAgESAwoEFAoNCgUEAAIBBBIECgQJEgoMCgUEAAIBBRIDCgQKCgwKBQQAAgEBEgMKCw8KDAoFBAACAQMSAwoSEwoKCgIEARIEDQATAQoKCgMEAQESAw0IFAoMCgQEAQQAEgQOBBEFCgwKBQQBBAABEgMOCRsKDQoGBAEEAAIAEgMPCBQKDgoHBAEEAAIAARIDDwgPCg4KBwQBBAACAAISAw8SEwoNCgYEAQQAAgESAxAIFAoOCgcEAQQAAgEBEgMQCA8KDgoHBAEEAAIBAhIDEBITCgsKBAQBAgASAxIEIgoNCgUEAQIABBIEEgQRBQoMCgUEAQIABhIDEgQWCgwKBQQBAgABEgMSFx0KDAoFBAECAAMSAxIgIWIGcHJvdG8zCqmzAQoadm9sdGhhX3Byb3Rvcy92b2x0aGEucHJvdG8SBnZvbHRoYRocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvGhp2b2x0aGFfcHJvdG9zL2NvbW1vbi5wcm90bxoadm9sdGhhX3Byb3Rvcy9oZWFsdGgucHJvdG8aInZvbHRoYV9wcm90b3MvbG9naWNhbF9kZXZpY2UucHJvdG8aGnZvbHRoYV9wcm90b3MvZGV2aWNlLnByb3RvGht2b2x0aGFfcHJvdG9zL2FkYXB0ZXIucHJvdG8aH3ZvbHRoYV9wcm90b3Mvb3BlbmZsb3dfMTMucHJvdG8aGnZvbHRoYV9wcm90b3MvZXZlbnRzLnByb3RvGh52b2x0aGFfcHJvdG9zL2V4dGVuc2lvbnMucHJvdG8aJ3ZvbHRoYV9wcm90b3Mvdm9pcF9zeXN0ZW1fcHJvZmlsZS5wcm90bxoldm9sdGhhX3Byb3Rvcy92b2lwX3VzZXJfcHJvZmlsZS5wcm90bxofdm9sdGhhX3Byb3Rvcy9vbWNpX21pYl9kYi5wcm90bxohdm9sdGhhX3Byb3Rvcy9vbWNpX2FsYXJtX2RiLnByb3RvGh12b2x0aGFfcHJvdG9zL29tY2lfdGVzdC5wcm90byJdCgxDb3JlSW5zdGFuY2USHwoLaW5zdGFuY2VfaWQYASABKAlSCmluc3RhbmNlSWQSLAoGaGVhbHRoGAIgASgLMhQuaGVhbHRoLkhlYWx0aFN0YXR1c1IGaGVhbHRoIjsKDUNvcmVJbnN0YW5jZXMSKgoFaXRlbXMYASADKAsyFC52b2x0aGEuQ29yZUluc3RhbmNlUgVpdGVtcyLAAwoGVm9sdGhhEhgKB3ZlcnNpb24YASABKAlSB3ZlcnNpb24SLAoIYWRhcHRlcnMYAiADKAsyEC5hZGFwdGVyLkFkYXB0ZXJSCGFkYXB0ZXJzEkYKD2xvZ2ljYWxfZGV2aWNlcxgDIAMoCzIdLmxvZ2ljYWxfZGV2aWNlLkxvZ2ljYWxEZXZpY2VSDmxvZ2ljYWxEZXZpY2VzEigKB2RldmljZXMYBCADKAsyDi5kZXZpY2UuRGV2aWNlUgdkZXZpY2VzEjUKDGRldmljZV90eXBlcxgFIAMoCzISLmRldmljZS5EZXZpY2VUeXBlUgtkZXZpY2VUeXBlcxI3Cg1ldmVudF9maWx0ZXJzGAcgAygLMhIuZXZlbnQuRXZlbnRGaWx0ZXJSDGV2ZW50RmlsdGVycxI/ChFvbWNpX21pYl9kYXRhYmFzZRgcIAMoCzITLm9tY2kuTWliRGV2aWNlRGF0YVIPb21jaU1pYkRhdGFiYXNlEkUKE29tY2lfYWxhcm1fZGF0YWJhc2UYHSADKAsyFS5vbWNpLkFsYXJtRGV2aWNlRGF0YVIRb21jaUFsYXJtRGF0YWJhc2VKBAgGEAcyuzsKDVZvbHRoYVNlcnZpY2USRAoJR2V0Vm9sdGhhEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gg4udm9sdGhhLlZvbHRoYSIPgtPkkwIJEgcvYXBpL3YxEl0KEUxpc3RDb3JlSW5zdGFuY2VzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhUudm9sdGhhLkNvcmVJbnN0YW5jZXMiGYLT5JMCExIRL2FwaS92MS9pbnN0YW5jZXMSUwoPR2V0Q29yZUluc3RhbmNlEgouY29tbW9uLklEGhQudm9sdGhhLkNvcmVJbnN0YW5jZSIegtPkkwIYEhYvYXBpL3YxL2luc3RhbmNlcy97aWR9ElMKDExpc3RBZGFwdGVycxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoRLmFkYXB0ZXIuQWRhcHRlcnMiGILT5JMCEhIQL2FwaS92MS9hZGFwdGVycxJtChJMaXN0TG9naWNhbERldmljZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHi5sb2dpY2FsX2RldmljZS5Mb2dpY2FsRGV2aWNlcyIfgtPkkwIZEhcvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcxJjChBHZXRMb2dpY2FsRGV2aWNlEgouY29tbW9uLklEGh0ubG9naWNhbF9kZXZpY2UuTG9naWNhbERldmljZSIkgtPkkwIeEhwvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9Em4KFkxpc3RMb2dpY2FsRGV2aWNlUG9ydHMSCi5jb21tb24uSUQaHC5sb2dpY2FsX2RldmljZS5Mb2dpY2FsUG9ydHMiKoLT5JMCJBIiL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9wb3J0cxKIAQoUR2V0TG9naWNhbERldmljZVBvcnQSHS5sb2dpY2FsX2RldmljZS5Mb2dpY2FsUG9ydElkGhsubG9naWNhbF9kZXZpY2UuTG9naWNhbFBvcnQiNILT5JMCLhIsL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9wb3J0cy97cG9ydF9pZH0SjQEKF0VuYWJsZUxvZ2ljYWxEZXZpY2VQb3J0Eh0ubG9naWNhbF9kZXZpY2UuTG9naWNhbFBvcnRJZBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI7gtPkkwI1IjMvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L3BvcnRzL3twb3J0X2lkfS9lbmFibGUSjwEKGERpc2FibGVMb2dpY2FsRGV2aWNlUG9ydBIdLmxvZ2ljYWxfZGV2aWNlLkxvZ2ljYWxQb3J0SWQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiPILT5JMCNiI0L2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9wb3J0cy97cG9ydF9pZH0vZGlzYWJsZRJkChZMaXN0TG9naWNhbERldmljZUZsb3dzEgouY29tbW9uLklEGhIub3BlbmZsb3dfMTMuRmxvd3MiKoLT5JMCJBIiL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9mbG93cxKDAQocVXBkYXRlTG9naWNhbERldmljZUZsb3dUYWJsZRIcLm9wZW5mbG93XzEzLkZsb3dUYWJsZVVwZGF0ZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSItgtPkkwInIiIvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L2Zsb3dzOgEqEoQBCh1VcGRhdGVMb2dpY2FsRGV2aWNlTWV0ZXJUYWJsZRIbLm9wZW5mbG93XzEzLk1ldGVyTW9kVXBkYXRlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii6C0+STAigiIy9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0vbWV0ZXJzOgEqEmcKF0xpc3RMb2dpY2FsRGV2aWNlTWV0ZXJzEgouY29tbW9uLklEGhMub3BlbmZsb3dfMTMuTWV0ZXJzIiuC0+STAiUSIy9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0vbWV0ZXJzEnQKG0xpc3RMb2dpY2FsRGV2aWNlRmxvd0dyb3VwcxIKLmNvbW1vbi5JRBoXLm9wZW5mbG93XzEzLkZsb3dHcm91cHMiMILT5JMCKhIoL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9mbG93X2dyb3VwcxKTAQohVXBkYXRlTG9naWNhbERldmljZUZsb3dHcm91cFRhYmxlEiEub3BlbmZsb3dfMTMuRmxvd0dyb3VwVGFibGVVcGRhdGUaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiM4LT5JMCLSIoL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9mbG93X2dyb3VwczoBKhJPCgtMaXN0RGV2aWNlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoPLmRldmljZS5EZXZpY2VzIheC0+STAhESDy9hcGkvdjEvZGV2aWNlcxJPCg1MaXN0RGV2aWNlSWRzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GgsuY29tbW9uLklEcyIZgtPkkwITEhEvYXBpL3YxL2RldmljZWlkcxJVChBSZWNvbmNpbGVEZXZpY2VzEgsuY29tbW9uLklEcxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIcgtPkkwIWIhEvYXBpL3YxL2RldmljZWlkczoBKhJFCglHZXREZXZpY2USCi5jb21tb24uSUQaDi5kZXZpY2UuRGV2aWNlIhyC0+STAhYSFC9hcGkvdjEvZGV2aWNlcy97aWR9EkoKDENyZWF0ZURldmljZRIOLmRldmljZS5EZXZpY2UaDi5kZXZpY2UuRGV2aWNlIhqC0+STAhQiDy9hcGkvdjEvZGV2aWNlczoBKhJXCgxFbmFibGVEZXZpY2USCi5jb21tb24uSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiI4LT5JMCHSIbL2FwaS92MS9kZXZpY2VzL3tpZH0vZW5hYmxlElkKDURpc2FibGVEZXZpY2USCi5jb21tb24uSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJILT5JMCHiIcL2FwaS92MS9kZXZpY2VzL3tpZH0vZGlzYWJsZRJXCgxSZWJvb3REZXZpY2USCi5jb21tb24uSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiI4LT5JMCHSIbL2FwaS92MS9kZXZpY2VzL3tpZH0vcmVib290ElcKDERlbGV0ZURldmljZRIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIjgtPkkwIdKhsvYXBpL3YxL2RldmljZXMve2lkfS9kZWxldGUSYgoRRm9yY2VEZWxldGVEZXZpY2USCi5jb21tb24uSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKYLT5JMCIyohL2FwaS92MS9kZXZpY2VzL3tpZH0vZm9yY2VfZGVsZXRlEngKDURvd25sb2FkSW1hZ2USFS5kZXZpY2UuSW1hZ2VEb3dubG9hZBoVLmNvbW1vbi5PcGVyYXRpb25SZXNwIjmIAgGC0+STAjAiKy9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX06ASoShQEKFkdldEltYWdlRG93bmxvYWRTdGF0dXMSFS5kZXZpY2UuSW1hZ2VEb3dubG9hZBoVLmRldmljZS5JbWFnZURvd25sb2FkIj2IAgGC0+STAjQSMi9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0vc3RhdHVzEngKEEdldEltYWdlRG93bmxvYWQSFS5kZXZpY2UuSW1hZ2VEb3dubG9hZBoVLmRldmljZS5JbWFnZURvd25sb2FkIjaIAgGC0+STAi0SKy9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0SaQoSTGlzdEltYWdlRG93bmxvYWRzEgouY29tbW9uLklEGhYuZGV2aWNlLkltYWdlRG93bmxvYWRzIi+IAgGC0+STAiYSJC9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2FkcxJ7ChNDYW5jZWxJbWFnZURvd25sb2FkEhUuZGV2aWNlLkltYWdlRG93bmxvYWQaFS5jb21tb24uT3BlcmF0aW9uUmVzcCI2iAIBgtPkkwItKisvYXBpL3YxL2RldmljZXMve2lkfS9pbWFnZV9kb3dubG9hZHMve25hbWV9EosBChNBY3RpdmF0ZUltYWdlVXBkYXRlEhUuZGV2aWNlLkltYWdlRG93bmxvYWQaFS5jb21tb24uT3BlcmF0aW9uUmVzcCJGiAIBgtPkkwI9IjgvYXBpL3YxL2RldmljZXMve2lkfS9pbWFnZV9kb3dubG9hZHMve25hbWV9L2ltYWdlX3VwZGF0ZToBKhKJAQoRUmV2ZXJ0SW1hZ2VVcGRhdGUSFS5kZXZpY2UuSW1hZ2VEb3dubG9hZBoVLmNvbW1vbi5PcGVyYXRpb25SZXNwIkaIAgGC0+STAj0iOC9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0vaW1hZ2VfcmV2ZXJ0OgEqEogBChVEb3dubG9hZEltYWdlVG9EZXZpY2USIi5kZXZpY2UuRGV2aWNlSW1hZ2VEb3dubG9hZFJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZSIugtPkkwIoEiYvYXBpL3YxL2RldmljZXMvaW1hZ2VzL2Rvd25sb2FkX2ltYWdlcxJ3Cg5HZXRJbWFnZVN0YXR1cxIaLmRldmljZS5EZXZpY2VJbWFnZVJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZSIsgtPkkwImEiQvYXBpL3YxL2RldmljZXMvaW1hZ2VzL2ltYWdlc19zdGF0dXMSiQEKGUFib3J0SW1hZ2VVcGdyYWRlVG9EZXZpY2USGi5kZXZpY2UuRGV2aWNlSW1hZ2VSZXF1ZXN0GhsuZGV2aWNlLkRldmljZUltYWdlUmVzcG9uc2UiM4LT5JMCLRIrL2FwaS92MS9kZXZpY2VzL2ltYWdlcy9hYm9ydF91cGdyYWRlX2ltYWdlcxJWCgxHZXRPbnVJbWFnZXMSCi5jb21tb24uSUQaES5kZXZpY2UuT251SW1hZ2VzIieC0+STAiESHy9hcGkvdjEvZGV2aWNlcy97aWR9L29udV9pbWFnZXMSewoNQWN0aXZhdGVJbWFnZRIaLmRldmljZS5EZXZpY2VJbWFnZVJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZSIxgtPkkwIrIiYvYXBpL3YxL2RldmljZXMvaW1hZ2VzL2FjdGl2YXRlX2ltYWdlczoBKhJ3CgtDb21taXRJbWFnZRIaLmRldmljZS5EZXZpY2VJbWFnZVJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZSIvgtPkkwIpIiQvYXBpL3YxL2RldmljZXMvaW1hZ2VzL2NvbW1pdF9pbWFnZXM6ASoSUAoPTGlzdERldmljZVBvcnRzEgouY29tbW9uLklEGg0uZGV2aWNlLlBvcnRzIiKC0+STAhwSGi9hcGkvdjEvZGV2aWNlcy97aWR9L3BvcnRzEl0KE0xpc3REZXZpY2VQbUNvbmZpZ3MSCi5jb21tb24uSUQaES5kZXZpY2UuUG1Db25maWdzIieC0+STAiESHy9hcGkvdjEvZGV2aWNlcy97aWR9L3BtX2NvbmZpZ3MSbgoVVXBkYXRlRGV2aWNlUG1Db25maWdzEhEuZGV2aWNlLlBtQ29uZmlncxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIqgtPkkwIkIh8vYXBpL3YxL2RldmljZXMve2lkfS9wbV9jb25maWdzOgEqElUKD0xpc3REZXZpY2VGbG93cxIKLmNvbW1vbi5JRBoSLm9wZW5mbG93XzEzLkZsb3dzIiKC0+STAhwSGi9hcGkvdjEvZGV2aWNlcy97aWR9L2Zsb3dzEmUKFExpc3REZXZpY2VGbG93R3JvdXBzEgouY29tbW9uLklEGhcub3BlbmZsb3dfMTMuRmxvd0dyb3VwcyIogtPkkwIiEiAvYXBpL3YxL2RldmljZXMve2lkfS9mbG93X2dyb3VwcxJcCg9MaXN0RGV2aWNlVHlwZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaEy5kZXZpY2UuRGV2aWNlVHlwZXMiHILT5JMCFhIUL2FwaS92MS9kZXZpY2VfdHlwZXMSUgoNR2V0RGV2aWNlVHlwZRIKLmNvbW1vbi5JRBoSLmRldmljZS5EZXZpY2VUeXBlIiGC0+STAhsSGS9hcGkvdjEvZGV2aWNlX3R5cGVzL3tpZH0SRgoQU3RyZWFtUGFja2V0c091dBIWLm9wZW5mbG93XzEzLlBhY2tldE91dBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIAKAESRQoQUmVjZWl2ZVBhY2tldHNJbhIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoVLm9wZW5mbG93XzEzLlBhY2tldEluIgAwARJLChNSZWNlaXZlQ2hhbmdlRXZlbnRzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ghgub3BlbmZsb3dfMTMuQ2hhbmdlRXZlbnQiADABEl0KEUNyZWF0ZUV2ZW50RmlsdGVyEhIuZXZlbnQuRXZlbnRGaWx0ZXIaEi5ldmVudC5FdmVudEZpbHRlciIggtPkkwIaIhUvYXBpL3YxL2V2ZW50X2ZpbHRlcnM6ASoSVQoOR2V0RXZlbnRGaWx0ZXISCi5jb21tb24uSUQaEy5ldmVudC5FdmVudEZpbHRlcnMiIoLT5JMCHBIaL2FwaS92MS9ldmVudF9maWx0ZXJzL3tpZH0SYgoRVXBkYXRlRXZlbnRGaWx0ZXISEi5ldmVudC5FdmVudEZpbHRlchoSLmV2ZW50LkV2ZW50RmlsdGVyIiWC0+STAh8aGi9hcGkvdjEvZXZlbnRfZmlsdGVycy97aWR9OgEqEmMKEURlbGV0ZUV2ZW50RmlsdGVyEhIuZXZlbnQuRXZlbnRGaWx0ZXIaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIoLT5JMCHCoaL2FwaS92MS9ldmVudF9maWx0ZXJzL3tpZH0SXgoQTGlzdEV2ZW50RmlsdGVycxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoTLmV2ZW50LkV2ZW50RmlsdGVycyIdgtPkkwIXEhUvYXBpL3YxL2V2ZW50X2ZpbHRlcnMSTAoJR2V0SW1hZ2VzEgouY29tbW9uLklEGg4uZGV2aWNlLkltYWdlcyIjgtPkkwIdEhsvYXBpL3YxL2RldmljZXMve2lkfS9pbWFnZXMSWAoIU2VsZlRlc3QSCi5jb21tb24uSUQaGC5kZXZpY2UuU2VsZlRlc3RSZXNwb25zZSImgtPkkwIgIh4vYXBpL3YxL2RldmljZXMve2lkfS9zZWxmX3Rlc3QSVgoQR2V0TWliRGV2aWNlRGF0YRIKLmNvbW1vbi5JRBoTLm9tY2kuTWliRGV2aWNlRGF0YSIhgtPkkwIbEhkvYXBpL3YxL29wZW5vbWNpL3tpZH0vbWliElwKEkdldEFsYXJtRGV2aWNlRGF0YRIKLmNvbW1vbi5JRBoVLm9tY2kuQWxhcm1EZXZpY2VEYXRhIiOC0+STAh0SGy9hcGkvdjEvb3Blbm9tY2kve2lkfS9hbGFybRJzCg1TaW11bGF0ZUFsYXJtEhwuZGV2aWNlLlNpbXVsYXRlQWxhcm1SZXF1ZXN0GhUuY29tbW9uLk9wZXJhdGlvblJlc3AiLYLT5JMCJyIiL2FwaS92MS9kZXZpY2VzL3tpZH0vc2ltdWxhdGVfbGFybToBKhJNCgpFbmFibGVQb3J0EgwuZGV2aWNlLlBvcnQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiGYLT5JMCEyIOL3YxL0VuYWJsZVBvcnQ6ASoSTwoLRGlzYWJsZVBvcnQSDC5kZXZpY2UuUG9ydBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIagtPkkwIUIg8vdjEvRGlzYWJsZVBvcnQ6ASoSXgoLR2V0RXh0VmFsdWUSGS5leHRlbnNpb24uVmFsdWVTcGVjaWZpZXIaFy5leHRlbnNpb24uUmV0dXJuVmFsdWVzIhuC0+STAhUSEy9hcGkvdjEvR2V0RXh0VmFsdWUSVwoLU2V0RXh0VmFsdWUSEy5leHRlbnNpb24uVmFsdWVTZXQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiG4LT5JMCFRITL2FwaS92MS9TZXRFeHRWYWx1ZRJkChNTdGFydE9tY2lUZXN0QWN0aW9uEhUub21jaS5PbWNpVGVzdFJlcXVlc3QaEi5vbWNpLlRlc3RSZXNwb25zZSIigtPkkwIcIhcvYXBpL3YxL3N0YXJ0X29tY2lfdGVzdDoBKhKFAQoUUHV0Vm9pcFN5c3RlbVByb2ZpbGUSLS52b2lwX3N5c3RlbV9wcm9maWxlLlZvaXBTeXN0ZW1Qcm9maWxlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSImgtPkkwIgIhsvYXBpL3YxL3ZvaXBfc3lzdGVtX3Byb2ZpbGU6ASoScAoXRGVsZXRlVm9pcFN5c3RlbVByb2ZpbGUSCy5jb21tb24uS2V5GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAioqKC9hcGkvdjEvdm9pcF9zeXN0ZW1fcHJvZmlsZS97a2V5fS9kZWxldGUSfQoSUHV0Vm9pcFVzZXJQcm9maWxlEikudm9pcF91c2VyX3Byb2ZpbGUuVm9pcFVzZXJQcm9maWxlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeIhkvYXBpL3YxL3ZvaXBfdXNlcl9wcm9maWxlOgEqEmwKFURlbGV0ZVZvaXBVc2VyUHJvZmlsZRILLmNvbW1vbi5LZXkaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLoLT5JMCKComL2FwaS92MS92b2lwX3VzZXJfcHJvZmlsZS97a2V5fS9kZWxldGUSWgoQRGlzYWJsZU9udURldmljZRIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIigtPkkwIcIhovYXBpL3YxL2Rpc2FibGVfb251X2RldmljZRJYCg9FbmFibGVPbnVEZXZpY2USCi5jb21tb24uSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIYLT5JMCGyIZL2FwaS92MS9lbmFibGVfb251X2RldmljZRJ8ChZEaXNhYmxlT251U2VyaWFsTnVtYmVyEh8uZGV2aWNlLk9udVNlcmlhbE51bWJlck9uT0xUUG9uGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IimC0+STAiMiIS9hcGkvdjEvZGlzYWJsZV9vbnVfc2VyaWFsX251bWJlchJ6ChVFbmFibGVPbnVTZXJpYWxOdW1iZXISHy5kZXZpY2UuT251U2VyaWFsTnVtYmVyT25PTFRQb24aFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKILT5JMCIiIgL2FwaS92MS9lbmFibGVfb251X3NlcmlhbF9udW1iZXISWwoMVXBkYXRlRGV2aWNlEhQuZGV2aWNlLlVwZGF0ZURldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIdgtPkkwIXIhUvYXBpL3YxL3VwZGF0ZV9kZXZpY2VCbAoTb3JnLm9wZW5jb3JkLnZvbHRoYUIMVm9sdGhhUHJvdG9zWi5naXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vdm9sdGhhqgIWT3BlbmNvcmQuVm9sdGhhLlZvbHRoYUqNbgoHEgUGAIcFAQpcCgEMEgMGABIyUgogVG9wLWxldmVsIFZvbHRoYSBBUEkgZGVmaW5pdGlvbgoKIEZvciBkZXRhaWxzLCBzZWUgaW5kaXZpZHVhbCBkZWZpbml0aW9uIGZpbGVzLgoKCAoBCBIDCABFCgkKAggLEgMIAEUKCAoBAhIDCgAPCgkKAgMAEgMMACYKCQoCAwESAw0AJQoJCgIDAhIDDwArCgkKAgoAEgMPBw0KCQoCAwMSAxAAJAoJCgIDBBIDEQAsCgkKAgMFEgMSACQKCQoCAwYSAxMAJQoJCgIDBxIDFAApCgkKAgMIEgMVACQKCQoCAwkSAxYAKAoJCgIDChIDFwAxCgkKAgMLEgMYAC8KCQoCAwwSAxoAKQoJCgIDDRIDGwArCgkKAgMOEgMcACcKCAoBCBIDHgAsCgkKAggBEgMeACwKCAoBCBIDHwAtCgkKAggIEgMfAC0KCAoBCBIDIAAzCgkKAgglEgMgADMKiAEKAgQAEgQkACoBGnwgQ29yZUluc3RhbmNlIHJlcHJlc2VudHMgYSBjb3JlIGluc3RhbmNlLiAgSXQgaXMgZGF0YSBoZWxkIGluIG1lbW9yeSB3aGVuIGEgY29yZQogaXMgcnVubmluZy4gIFRoaXMgZGF0YSBpcyBub3QgcGVyc2lzdGVudC4KCgoKAwQAARIDJAgUCgsKBAQAAgASAyYEGwoNCgUEAAIABBIEJgQkFgoMCgUEAAIABRIDJgQKCgwKBQQAAgABEgMmCxYKDAoFBAACAAMSAyYZGgoLCgQEAAIBEgMoBCMKDQoFBAACAQQSBCgEJhsKDAoFBAACAQYSAygEFwoMCgUEAAIBARIDKBgeCgwKBQQAAgEDEgMoISIKCgoCBAESBCwALgEKCgoDBAEBEgMsCBUKCwoEBAECABIDLQQkCgwKBQQBAgAEEgMtBAwKDAoFBAECAAYSAy0NGQoMCgUEAQIAARIDLRofCgwKBQQBAgADEgMtIiMKzgEKAgQCEgQ0AEsBGsEBIFZvbHRoYSByZXByZXNlbnRzIHRoZSBWb2x0aGEgY2x1c3RlciBkYXRhLiAgRWFjaCBDb3JlIGluc3RhbmNlIHdpbGwgaG9sZCBhIHN1YnNldCBvZgogdGhlIGVudGlyZSBjbHVzdGVyLiBIb3dldmVyLCBzb21lIGl0ZW1zIChlLmcuIGFkYXB0ZXJzKSB3aWxsIGJlIGhlbGQgYnkgYWxsIGNvcmVzCiBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlCgoKCgMEAgESAzQIDgoLCgQEAgIAEgM2BBgKDQoFBAICAAQSBDYENBAKDAoFBAICAAUSAzYECgoMCgUEAgIAARIDNgsSCgwKBQQCAgADEgM2FRYKCwoEBAICARIDOAQqCgwKBQQCAgEEEgM4BAwKDAoFBAICAQYSAzgNHAoMCgUEAgIBARIDOB0lCgwKBQQCAgEDEgM4KCkKCwoEBAICAhIDOgQ+CgwKBQQCAgIEEgM6BAwKDAoFBAICAgYSAzoNKQoMCgUEAgICARIDOio5CgwKBQQCAgIDEgM6PD0KCwoEBAICAxIDPAQnCgwKBQQCAgMEEgM8BAwKDAoFBAICAwYSAzwNGgoMCgUEAgIDARIDPBsiCgwKBQQCAgMDEgM8JSYKCwoEBAICBBIDPgQwCgwKBQQCAgQEEgM+BAwKDAoFBAICBAYSAz4NHgoMCgUEAgIEARIDPh8rCgwKBQQCAgQDEgM+Li8KUAoDBAIJEgNABA8iRCBkZXZpY2VfZ3JvdXBzIGlzIG5vdCB1c2VkCiByZXBlYXRlZCBEZXZpY2VHcm91cCBkZXZpY2VfZ3JvdXBzID0gNjsKCgsKBAQCCQASA0ANDgoMCgUEAgkAARIDQA0OCgwKBQQCCQACEgNADQ4KCwoEBAICBRIDRAQxCgwKBQQCAgUEEgNEBAwKDAoFBAICBQYSA0QNHgoMCgUEAgIFARIDRB8sCgwKBQQCAgUDEgNELzAKDAoEBAICBhIERgRHMgoMCgUEAgIGBBIDRgQMCgwKBQQCAgYGEgNHCBoKDAoFBAICBgESA0cbLAoMCgUEAgIGAxIDRy8xCgwKBAQCAgcSBEkESjYKDAoFBAICBwQSA0kEDAoMCgUEAgIHBhIDSggcCgwKBQQCAgcBEgNKHTAKDAoFBAICBwMSA0ozNQocCgIGABIFUQCHBQEaDwogVm9sdGhhIEFQSXMKCgoKCgMGAAESA1EIFQpACgQGAAIAEgRTBFcFGjIgR2V0IGhpZ2ggbGV2ZWwgaW5mb3JtYXRpb24gb24gdGhlIFZvbHRoYSBjbHVzdGVyCgoMCgUGAAIAARIDUwgRCgwKBQYAAgACEgNTEicKDAoFBgACAAMSA1MxNwoNCgUGAAIABBIEVAhWCgoRCgkGAAIABLDKvCISBFQIVgoKNgoEBgACARIEWgReBRooIExpc3QgYWxsIFZvbHRoYSBjbHVzdGVyIGNvcmUgaW5zdGFuY2VzCgoMCgUGAAIBARIDWggZCgwKBQYAAgECEgNaGi8KDAoFBgACAQMSA1o5RgoNCgUGAAIBBBIEWwhdCgoRCgkGAAIBBLDKvCISBFsIXQoKOAoEBgACAhIEYQRlBRoqIEdldCBkZXRhaWxzIG9uIGEgVm9sdGhhIGNsdXN0ZXIgaW5zdGFuY2UKCgwKBQYAAgIBEgNhCBcKDAoFBgACAgISA2EYIQoMCgUGAAICAxIDYSs3Cg0KBQYAAgIEEgRiCGQKChEKCQYAAgIEsMq8IhIEYghkCgpICgQGAAIDEgRoBGwFGjogTGlzdCBhbGwgYWN0aXZlIGFkYXB0ZXJzIChwbHVnaW5zKSBpbiB0aGUgVm9sdGhhIGNsdXN0ZXIKCgwKBQYAAgMBEgNoCBQKDAoFBgACAwISA2gVKgoMCgUGAAIDAxIDaDRECg0KBQYAAgMEEgRpCGsKChEKCQYAAgMEsMq8IhIEaQhrCgpGCgQGAAIEEgRwBHQFGjggTGlzdCBhbGwgbG9naWNhbCBkZXZpY2VzIG1hbmFnZWQgYnkgdGhlIFZvbHRoYSBjbHVzdGVyCgoMCgUGAAIEARIDcAgaCgwKBQYAAgQCEgNwGzAKDAoFBgACBAMSA3A6VwoNCgUGAAIEBBIEcQhzCgoRCgkGAAIEBLDKvCISBHEIcwoKRAoEBgACBRIEdwR7BRo2IEdldCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIGEgZ2l2ZW4gbG9naWNhbCBkZXZpY2UKCgwKBQYAAgUBEgN3CBgKDAoFBgACBQISA3cZIgoMCgUGAAIFAxIDdyxICg0KBQYAAgUEEgR4CHoKChEKCQYAAgUEsMq8IhIEeAh6CgovCgQGAAIGEgV+BIIBBRogIExpc3QgcG9ydHMgb2YgYSBsb2dpY2FsIGRldmljZQoKDAoFBgACBgESA34IHgoMCgUGAAIGAhIDfh8oCgwKBQYAAgYDEgN+Mk0KDgoFBgACBgQSBX8IgQEKChIKCQYAAgYEsMq8IhIFfwiBAQoKLAoEBgACBxIGhQEEiQEFGhwgR2V0cyBhIGxvZ2ljYWwgZGV2aWNlIHBvcnQKCg0KBQYAAgcBEgSFAQgcCg0KBQYAAgcCEgSFAR05Cg0KBQYAAgcDEgSFAUNdCg8KBQYAAgcEEgaGAQiIAQoKEwoJBgACBwSwyrwiEgaGAQiIAQoKLwoEBgACCBIGjAEEkAEFGh8gRW5hYmxlcyBhIGxvZ2ljYWwgZGV2aWNlIHBvcnQKCg0KBQYAAggBEgSMAQgfCg0KBQYAAggCEgSMASA8Cg0KBQYAAggDEgSMAUZbCg8KBQYAAggEEgaNAQiPAQoKEwoJBgACCASwyrwiEgaNAQiPAQoKMAoEBgACCRIGkwEElwEFGiAgRGlzYWJsZXMgYSBsb2dpY2FsIGRldmljZSBwb3J0CgoNCgUGAAIJARIEkwEIIAoNCgUGAAIJAhIEkwEhPQoNCgUGAAIJAxIEkwFHXAoPCgUGAAIJBBIGlAEIlgEKChMKCQYAAgkEsMq8IhIGlAEIlgEKCjQKBAYAAgoSBpoBBJ4BBRokIExpc3QgYWxsIGZsb3dzIG9mIGEgbG9naWNhbCBkZXZpY2UKCg0KBQYAAgoBEgSaAQgeCg0KBQYAAgoCEgSaAR8oCg0KBQYAAgoDEgSaATJDCg8KBQYAAgoEEgabAQidAQoKEwoJBgACCgSwyrwiEgabAQidAQoKNgoEBgACCxIGoQEEpwEFGiYgVXBkYXRlIGZsb3cgdGFibGUgZm9yIGxvZ2ljYWwgZGV2aWNlCgoNCgUGAAILARIEoQEIJAoNCgUGAAILAhIEoQElQAoNCgUGAAILAxIEogEUKQoPCgUGAAILBBIGowEIpgEKChMKCQYAAgsEsMq8IhIGowEIpgEKCjcKBAYAAgwSBqoBBLABBRonIFVwZGF0ZSBtZXRlciB0YWJsZSBmb3IgbG9naWNhbCBkZXZpY2UKCg0KBQYAAgwBEgSqAQglCg0KBQYAAgwCEgSqASZACg0KBQYAAgwDEgSrARQpCg8KBQYAAgwEEgasAQivAQoKEwoJBgACDASwyrwiEgasAQivAQoKNQoEBgACDRIGswEEtwEFGiUgTGlzdCBhbGwgbWV0ZXJzIG9mIGEgbG9naWNhbCBkZXZpY2UKCg0KBQYAAg0BEgSzAQgfCg0KBQYAAg0CEgSzASApCg0KBQYAAg0DEgSzATRGCg8KBQYAAg0EEga0AQi2AQoKEwoJBgACDQSwyrwiEga0AQi2AQoKOgoEBgACDhIGugEEvgEFGiogTGlzdCBhbGwgZmxvdyBncm91cHMgb2YgYSBsb2dpY2FsIGRldmljZQoKDQoFBgACDgESBLoBCCMKDQoFBgACDgISBLoBJC0KDQoFBgACDgMSBLoBN00KDwoFBgACDgQSBrsBCL0BCgoTCgkGAAIOBLDKvCISBrsBCL0BCgovCgQGAAIPEgbBAQTHAQUaHyBVcGRhdGUgZ3JvdXAgdGFibGUgZm9yIGRldmljZQoKDQoFBgACDwESBMEBCCkKDQoFBgACDwISBMEBKkoKDQoFBgACDwMSBMIBFCkKDwoFBgACDwQSBsMBCMYBCgoTCgkGAAIPBLDKvCISBsMBCMYBCgpMCgQGAAIQEgbKAQTOAQUaPCBMaXN0IGFsbCBwaHlzaWNhbCBkZXZpY2VzIGNvbnRyb2xsZWQgYnkgdGhlIFZvbHRoYSBjbHVzdGVyCgoNCgUGAAIQARIEygEIEwoNCgUGAAIQAhIEygEUKQoNCgUGAAIQAxIEygEzQQoPCgUGAAIQBBIGywEIzQEKChMKCQYAAhAEsMq8IhIGywEIzQEKClAKBAYAAhESBtEBBNUBBRpAIExpc3QgYWxsIHBoeXNpY2FsIGRldmljZXMgSURzIGNvbnRyb2xsZWQgYnkgdGhlIFZvbHRoYSBjbHVzdGVyCgoNCgUGAAIRARIE0QEIFQoNCgUGAAIRAhIE0QEWKwoNCgUGAAIRAxIE0QE1PwoPCgUGAAIRBBIG0gEI1AEKChMKCQYAAhEEsMq8IhIG0gEI1AEKClsKBAYAAhISBtgBBN0BBRpLIFJlcXVlc3QgdG8gYSB2b2x0aGEgQ29yZSB0byByZWNvbmNpbGUgYSBzZXQgb2YgZGV2aWNlcyBiYXNlZCBvbiB0aGVpciBJRHMKCg0KBQYAAhIBEgTYAQgYCg0KBQYAAhICEgTYARkjCg0KBQYAAhIDEgTYAS1CCg8KBQYAAhIEEgbZAQjcAQoKEwoJBgACEgSwyrwiEgbZAQjcAQoKQQoEBgACExIG4AEE5AEFGjEgR2V0IG1vcmUgaW5mb3JtYXRpb24gb24gYSBnaXZlbiBwaHlzaWNhbCBkZXZpY2UKCg0KBQYAAhMBEgTgAQgRCg0KBQYAAhMCEgTgARIbCg0KBQYAAhMDEgTgASUyCg8KBQYAAhMEEgbhAQjjAQoKEwoJBgACEwSwyrwiEgbhAQjjAQoKNQoEBgACFBIG5wEE7AEFGiUgUHJlLXByb3Zpc2lvbiBhIG5ldyBwaHlzaWNhbCBkZXZpY2UKCg0KBQYAAhQBEgTnAQgUCg0KBQYAAhQCEgTnARUiCg0KBQYAAhQDEgTnASw5Cg8KBQYAAhQEEgboAQjrAQoKEwoJBgACFASwyrwiEgboAQjrAQoKygEKBAYAAhUSBvEBBPUBBRq5ASBFbmFibGUgYSBkZXZpY2UuICBJZiB0aGUgZGV2aWNlIHdhcyBpbiBwcmUtcHJvdmlzaW9uZWQgc3RhdGUgdGhlbiBpdAogd2lsbCB0cmFuc2l0aW9uIHRvIEVOQUJMRUQgc3RhdGUuICBJZiBpdCB3YXMgaXMgRElTQUJMRUQgc3RhdGUgdGhlbiBpdAogd2lsbCB0cmFuc2l0aW9uIHRvIEVOQUJMRUQgc3RhdGUgYXMgd2VsbC4KCg0KBQYAAhUBEgTxAQgUCg0KBQYAAhUCEgTxARUeCg0KBQYAAhUDEgTxASg9Cg8KBQYAAhUEEgbyAQj0AQoKEwoJBgACFQSwyrwiEgbyAQj0AQoKIgoEBgACFhIG+AEE/AEFGhIgRGlzYWJsZSBhIGRldmljZQoKDQoFBgACFgESBPgBCBUKDQoFBgACFgISBPgBFh8KDQoFBgACFgMSBPgBKT4KDwoFBgACFgQSBvkBCPsBCgoTCgkGAAIWBLDKvCISBvkBCPsBCgohCgQGAAIXEgb/AQSDAgUaESBSZWJvb3QgYSBkZXZpY2UKCg0KBQYAAhcBEgT/AQgUCg0KBQYAAhcCEgT/ARUeCg0KBQYAAhcDEgT/ASg9Cg8KBQYAAhcEEgaAAgiCAgoKEwoJBgACFwSwyrwiEgaAAgiCAgoKIQoEBgACGBIGhgIEigIFGhEgRGVsZXRlIGEgZGV2aWNlCgoNCgUGAAIYARIEhgIIFAoNCgUGAAIYAhIEhgIWHwoNCgUGAAIYAxIEhgIqPwoPCgUGAAIYBBIGhwIIiQIKChMKCQYAAhgEsMq8IhIGhwIIiQIKCiwKBAYAAhkSBo0CBJECBRocIEZvcmNlZnVsbHkgZGVsZXRlIGEgZGV2aWNlCgoNCgUGAAIZARIEjQIIGQoNCgUGAAIZAhIEjQIbJAoNCgUGAAIZAxIEjQIvRAoPCgUGAAIZBBIGjgIIkAIKChMKCQYAAhkEsMq8IhIGjgIIkAIKCoYBCgQGAAIaEgaWAgScAgUadiBSZXF1ZXN0IGFuIGltYWdlIGRvd25sb2FkIHRvIHRoZSBzdGFuZGJ5IHBhcnRpdGlvbgogb2YgYSBkZXZpY2UuCiBOb3RlIHRoYXQgdGhlIGNhbGwgaXMgZXhwZWN0ZWQgdG8gYmUgbm9uLWJsb2NraW5nLgoKDQoFBgACGgESBJYCCBUKDQoFBgACGgISBJYCFioKDQoFBgACGgMSBJYCNEgKDQoFBgACGgQSBJcCCCEKDgoGBgACGgQhEgSXAgghCg8KBQYAAhoEEgaYAgibAgoKEwoJBgACGgSwyrwiEgaYAgibAgoKowEKBAYAAhsSBqECBKYCBRqSASBHZXQgaW1hZ2UgZG93bmxvYWQgc3RhdHVzIG9uIGEgZGV2aWNlCiBUaGUgcmVxdWVzdCByZXRyaWV2ZXMgcHJvZ3Jlc3Mgb24gZGV2aWNlIGFuZCB1cGRhdGVzIGRiIHJlY29yZAogRGVwcmVjYXRlZCBpbiB2b2x0aGEgMi44LCB3aWxsIGJlIHJlbW92ZWQKCg0KBQYAAhsBEgShAggeCg0KBQYAAhsCEgShAh8zCg0KBQYAAhsDEgShAj1RCg0KBQYAAhsEEgSiAgghCg4KBgYAAhsEIRIEogIIIQoPCgUGAAIbBBIGowIIpQIKChMKCQYAAhsEsMq8IhIGowIIpQIKClkKBAYAAhwSBqoCBK8CBRpJIEdldCBpbWFnZSBkb3dubG9hZCBkYiByZWNvcmQKIERlcHJlY2F0ZWQgaW4gdm9sdGhhIDIuOCwgd2lsbCBiZSByZW1vdmVkCgoNCgUGAAIcARIEqgIIGAoNCgUGAAIcAhIEqgIZLQoNCgUGAAIcAxIEqgI3SwoNCgUGAAIcBBIEqwIIIQoOCgYGAAIcBCESBKsCCCEKDwoFBgACHAQSBqwCCK4CCgoTCgkGAAIcBLDKvCISBqwCCK4CCgpuCgQGAAIdEgazAgS4AgUaXiBMaXN0IGltYWdlIGRvd25sb2FkIGRiIHJlY29yZHMgZm9yIGEgZ2l2ZW4gZGV2aWNlCiBEZXByZWNhdGVkIGluIHZvbHRoYSAyLjgsIHdpbGwgYmUgcmVtb3ZlZAoKDQoFBgACHQESBLMCCBoKDQoFBgACHQISBLMCGyQKDQoFBgACHQMSBLMCLkMKDQoFBgACHQQSBLQCCCEKDgoGBgACHQQhEgS0AgghCg8KBQYAAh0EEga1Agi3AgoKEwoJBgACHQSwyrwiEga1Agi3AgoKcgoEBgACHhIGvAIEwQIFGmIgQ2FuY2VsIGFuIGV4aXN0aW5nIGltYWdlIGRvd25sb2FkIHByb2Nlc3Mgb24gYSBkZXZpY2UKIERlcHJlY2F0ZWQgaW4gdm9sdGhhIDIuOCwgd2lsbCBiZSByZW1vdmVkCgoNCgUGAAIeARIEvAIIGwoNCgUGAAIeAhIEvAIcMAoNCgUGAAIeAxIEvAI6TgoNCgUGAAIeBBIEvQIIIQoOCgYGAAIeBCESBL0CCCEKDwoFBgACHgQSBr4CCMACCgoTCgkGAAIeBLDKvCISBr4CCMACCgrrAgoEBgACHxIGywIE0QIFGtoCIEFjdGl2YXRlIHRoZSBzcGVjaWZpZWQgaW1hZ2UgYXQgYSBzdGFuZGJ5IHBhcnRpdGlvbgogdG8gYWN0aXZlIHBhcnRpdGlvbi4KIERlcGVuZGluZyBvbiB0aGUgZGV2aWNlIGltcGxlbWVudGF0aW9uLCB0aGlzIGNhbGwKIG1heSBvciBtYXkgbm90IGNhdXNlIGRldmljZSByZWJvb3QuCiBJZiBubyByZWJvb3QsIHRoZW4gYSByZWJvb3QgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUKIGFjdGl2YXRlZCBpbWFnZSBydW5uaW5nIG9uIGRldmljZQogTm90ZSB0aGF0IHRoZSBjYWxsIGlzIGV4cGVjdGVkIHRvIGJlIG5vbi1ibG9ja2luZy4KIERlcHJlY2F0ZWQgaW4gdm9sdGhhIDIuOCwgd2lsbCBiZSByZW1vdmVkCgoNCgUGAAIfARIEywIIGwoNCgUGAAIfAhIEywIcMAoNCgUGAAIfAxIEywI6TgoNCgUGAAIfBBIEzAIIIQoOCgYGAAIfBCESBMwCCCEKDwoFBgACHwQSBs0CCNACCgoTCgkGAAIfBLDKvCISBs0CCNACCgqDAwoEBgACIBIG2wIE4QIFGvICIFJldmVydCB0aGUgc3BlY2lmaWVkIGltYWdlIGF0IHN0YW5kYnkgcGFydGl0aW9uCiB0byBhY3RpdmUgcGFydGl0aW9uLCBhbmQgcmV2ZXJ0IHRvIHByZXZpb3VzIGltYWdlCiBEZXBlbmRpbmcgb24gdGhlIGRldmljZSBpbXBsZW1lbnRhdGlvbiwgdGhpcyBjYWxsCiBtYXkgb3IgbWF5IG5vdCBjYXVzZSBkZXZpY2UgcmVib290LgogSWYgbm8gcmVib290LCB0aGVuIGEgcmVib290IGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlCiBwcmV2aW91cyBpbWFnZSBydW5uaW5nIG9uIGRldmljZQogTm90ZSB0aGF0IHRoZSBjYWxsIGlzIGV4cGVjdGVkIHRvIGJlIG5vbi1ibG9ja2luZy4KIERlcHJlY2F0ZWQgaW4gdm9sdGhhIDIuOCwgd2lsbCBiZSByZW1vdmVkCgoNCgUGAAIgARIE2wIIGQoNCgUGAAIgAhIE2wIaLgoNCgUGAAIgAxIE2wI4TAoNCgUGAAIgBBIE3AIIIQoOCgYGAAIgBCESBNwCCCEKDwoFBgACIAQSBt0CCOACCgoTCgkGAAIgBLDKvCISBt0CCOACCgqHAQoEBgACIRIG5QIE6QIFGncgRG93bmxvYWRzIGEgY2VydGFpbiBpbWFnZSB0byB0aGUgc3RhbmRieSBwYXJ0aXRpb24gb2YgdGhlIGRldmljZXMKIE5vdGUgdGhhdCB0aGUgY2FsbCBpcyBleHBlY3RlZCB0byBiZSBub24tYmxvY2tpbmcuCgoNCgUGAAIhARIE5QIIHQoNCgUGAAIhAhIE5QIfQAoNCgUGAAIhAxIE5QJLZQoPCgUGAAIhBBIG5gII6AIKChMKCQYAAiEEsMq8IhIG5gII6AIKCooBCgQGAAIiEgbtAgTxAgUaeiBHZXQgaW1hZ2Ugc3RhdHVzIG9uIGEgbnVtYmVyIG9mIGRldmljZXMgZGV2aWNlcwogUG9sbGVkIGZyb20gbm9ydGhib3VuZCBzeXN0ZW1zIHRvIGdldCBzdGF0ZSBvZiBkb3dubG9hZC9hY3RpdmF0ZS9jb21taXQKCg0KBQYAAiIBEgTtAggWCg0KBQYAAiICEgTtAhgxCg0KBQYAAiIDEgTtAjxWCg8KBQYAAiIEEgbuAgjwAgoKEwoJBgACIgSwyrwiEgbuAgjwAgoKjgIKBAYAAiMSBvcCBPsCBRr9ASBBYm9ydHMgdGhlIHVwZ3JhZGUgb2YgYW4gaW1hZ2Ugb24gYSBkZXZpY2UKIFRvIGJlIHVzZWQgY2FyZWZ1bGx5LCBzdG9wcyBhbnkgZnVydGhlciBvcGVyYXRpb25zIGZvciB0aGUgSW1hZ2Ugb24gdGhlIGdpdmVuIGRldmljZXMKIE1pZ2h0IGFsc28gc3RvcCBpZiBwb3NzaWJsZSBleGlzdGluZyB3b3JrLCBidXQgbm8gZ3VhcmFudGVlcyBhcmUgZ2l2ZW4sCiBkZXBlbmRzIG9uIGltcGxlbWVudGF0aW9uIGFuZCBwcm9jZWR1cmUgc3RhdHVzLgoKDQoFBgACIwESBPcCCCEKDQoFBgACIwISBPcCIzwKDQoFBgACIwMSBPcCR2EKDwoFBgACIwQSBvgCCPoCCgoTCgkGAAIjBLDKvCISBvgCCPoCCgpGCgQGAAIkEgb+AgSCAwUaNiBHZXQgQm90aCBBY3RpdmUgYW5kIFN0YW5kYnkgaW1hZ2UgZm9yIGEgZ2l2ZW4gZGV2aWNlCgoNCgUGAAIkARIE/gIIFAoNCgUGAAIkAhIE/gIWHwoNCgUGAAIkAxIE/gIqOgoPCgUGAAIkBBIG/wIIgQMKChMKCQYAAiQEsMq8IhIG/wIIgQMKCsICCgQGAAIlEgaLAwSQAwUasQIgQWN0aXZhdGUgdGhlIHNwZWNpZmllZCBpbWFnZSBmcm9tIGEgc3RhbmRieSBwYXJ0aXRpb24KIHRvIGFjdGl2ZSBwYXJ0aXRpb24uCiBEZXBlbmRpbmcgb24gdGhlIGRldmljZSBpbXBsZW1lbnRhdGlvbiwgdGhpcyBjYWxsCiBtYXkgb3IgbWF5IG5vdCBjYXVzZSBkZXZpY2UgcmVib290LgogSWYgbm8gcmVib290LCB0aGVuIGEgcmVib290IGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlCiBhY3RpdmF0ZWQgaW1hZ2UgcnVubmluZyBvbiBkZXZpY2UKIE5vdGUgdGhhdCB0aGUgY2FsbCBpcyBleHBlY3RlZCB0byBiZSBub24tYmxvY2tpbmcuCgoNCgUGAAIlARIEiwMIFQoNCgUGAAIlAhIEiwMXMAoNCgUGAAIlAxIEiwM7VQoPCgUGAAIlBBIGjAMIjwMKChMKCQYAAiUEsMq8IhIGjAMIjwMKCrECCgQGAAImEgaYAwSdAwUaoAIgQ29tbWl0IHRoZSBzcGVjaWZpZWQgaW1hZ2UgdG8gYmUgZGVmYXVsdC4KIERlcGVuZGluZyBvbiB0aGUgZGV2aWNlIGltcGxlbWVudGF0aW9uLCB0aGlzIGNhbGwKIG1heSBvciBtYXkgbm90IGNhdXNlIGRldmljZSByZWJvb3QuCiBJZiBubyByZWJvb3QsIHRoZW4gYSByZWJvb3QgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUKIGFjdGl2YXRlZCBpbWFnZSBydW5uaW5nIG9uIGRldmljZSB1cG9uIG5leHQgcmVib290CiBOb3RlIHRoYXQgdGhlIGNhbGwgaXMgZXhwZWN0ZWQgdG8gYmUgbm9uLWJsb2NraW5nLgoKDQoFBgACJgESBJgDCBMKDQoFBgACJgISBJgDFS4KDQoFBgACJgMSBJgDOVMKDwoFBgACJgQSBpkDCJwDCgoTCgkGAAImBLDKvCISBpkDCJwDCgooCgQGAAInEgagAwSkAwUaGCBMaXN0IHBvcnRzIG9mIGEgZGV2aWNlCgoNCgUGAAInARIEoAMIFwoNCgUGAAInAhIEoAMZIgoNCgUGAAInAxIEoAMtOQoPCgUGAAInBBIGoQMIowMKChMKCQYAAicEsMq8IhIGoQMIowMKCiwKBAYAAigSBqcDBKsDBRocIExpc3QgcG0gY29uZmlnIG9mIGEgZGV2aWNlCgoNCgUGAAIoARIEpwMIGwoNCgUGAAIoAhIEpwMdJgoNCgUGAAIoAxIEpwMxQQoPCgUGAAIoBBIGqAMIqgMKChMKCQYAAigEsMq8IhIGqAMIqgMKCjIKBAYAAikSBq4DBLMDBRoiIFVwZGF0ZSB0aGUgcG0gY29uZmlnIG9mIGEgZGV2aWNlCgoNCgUGAAIpARIErgMIHQoNCgUGAAIpAhIErgMeLgoNCgUGAAIpAxIErgM4TQoPCgUGAAIpBBIGrwMIsgMKChMKCQYAAikEsMq8IhIGrwMIsgMKCiwKBAYAAioSBrYDBLoDBRocIExpc3QgYWxsIGZsb3dzIG9mIGEgZGV2aWNlCgoNCgUGAAIqARIEtgMIFwoNCgUGAAIqAhIEtgMYIQoNCgUGAAIqAxIEtgMrPAoPCgUGAAIqBBIGtwMIuQMKChMKCQYAAioEsMq8IhIGtwMIuQMKCjIKBAYAAisSBr0DBMEDBRoiIExpc3QgYWxsIGZsb3cgZ3JvdXBzIG9mIGEgZGV2aWNlCgoNCgUGAAIrARIEvQMIHAoNCgUGAAIrAhIEvQMdJgoNCgUGAAIrAxIEvQMwRgoPCgUGAAIrBBIGvgMIwAMKChMKCQYAAisEsMq8IhIGvgMIwAMKCjMKBAYAAiwSBsQDBMgDBRojIExpc3QgZGV2aWNlIHR5cGVzIGtub3duIHRvIFZvbHRoYQoKDQoFBgACLAESBMQDCBcKDQoFBgACLAISBMQDGC0KDQoFBgACLAMSBMQDN0kKDwoFBgACLAQSBsUDCMcDCgoTCgkGAAIsBLDKvCISBsUDCMcDCgo9CgQGAAItEgbLAwTPAwUaLSBHZXQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiBhIGRldmljZSB0eXBlCgoNCgUGAAItARIEywMIFQoNCgUGAAItAhIEywMWHwoNCgUGAAItAxIEywMpOgoPCgUGAAItBBIGzAMIzgMKChMKCQYAAi0EsMq8IhIGzAMIzgMKCmYKBAYAAi4SBtIDBNUDBRopIFN0cmVhbSBjb250cm9sIHBhY2tldHMgdG8gdGhlIGRhdGFwbGFuZQoiKyBUaGlzIGRvZXMgbm90IGhhdmUgYW4gSFRUUCByZXByZXNlbnRhdGlvbgoKDQoFBgACLgESBNIDCBgKDQoFBgACLgUSBNIDGR8KDQoFBgACLgISBNIDIDUKDQoFBgACLgMSBNMDECUKXAoEBgACLxIG2AME2wMFGh8gUmVjZWl2ZSBjb250cm9sIHBhY2tldCBzdHJlYW0KIisgVGhpcyBkb2VzIG5vdCBoYXZlIGFuIEhUVFAgcmVwcmVzZW50YXRpb24KCg0KBQYAAi8BEgTYAwgYCg0KBQYAAi8CEgTYAxkuCg0KBQYAAi8GEgTZAxAWCg0KBQYAAi8DEgTZAxcrCjsKBAYAAjASBt0DBOADBSIrIFRoaXMgZG9lcyBub3QgaGF2ZSBhbiBIVFRQIHJlcHJlc2VudGF0aW9uCgoNCgUGAAIwARIE3QMIGwoNCgUGAAIwAhIE3QMcMQoNCgUGAAIwBhIE3gMQFgoNCgUGAAIwAxIE3gMXLgoOCgQGAAIxEgbiAwTnAwUKDQoFBgACMQESBOIDCBkKDQoFBgACMQISBOIDGisKDQoFBgACMQMSBOIDNUYKDwoFBgACMQQSBuMDCOYDCgoTCgkGAAIxBLDKvCISBuMDCOYDCgo2CgQGAAIyEgbqAwTuAwUaJiBHZXQgYWxsIGZpbHRlcnMgcHJlc2VudCBmb3IgYSBkZXZpY2UKCg0KBQYAAjIBEgTqAwgWCg0KBQYAAjICEgTqAxcgCg0KBQYAAjIDEgTqAyo8Cg8KBQYAAjIEEgbrAwjtAwoKEwoJBgACMgSwyrwiEgbrAwjtAwoKDgoEBgACMxIG8AME9QMFCg0KBQYAAjMBEgTwAwgZCg0KBQYAAjMCEgTwAxorCg0KBQYAAjMDEgTwAzVGCg8KBQYAAjMEEgbxAwj0AwoKEwoJBgACMwSwyrwiEgbxAwj0AwoKDgoEBgACNBIG9wME+wMFCg0KBQYAAjQBEgT3AwgZCg0KBQYAAjQCEgT3AxorCg0KBQYAAjQDEgT3AzVKCg8KBQYAAjQEEgb4Awj6AwoKEwoJBgACNASwyrwiEgb4Awj6AwoKLQoEBgACNRIG/gMEggQFGh0gR2V0IGFsbCB0aGUgZmlsdGVycyBwcmVzZW50CgoNCgUGAAI1ARIE/gMIGAoNCgUGAAI1AhIE/gMZLgoNCgUGAAI1AxIE/gM4SgoPCgUGAAI1BBIG/wMIgQQKChMKCQYAAjUEsMq8IhIG/wMIgQQKCg4KBAYAAjYSBoQEBIgEBQoNCgUGAAI2ARIEhAQIEQoNCgUGAAI2AhIEhAQSGwoNCgUGAAI2AxIEhAQlMgoPCgUGAAI2BBIGhQQIhwQKChMKCQYAAjYEsMq8IhIGhQQIhwQKCg4KBAYAAjcSBooEBI4EBQoNCgUGAAI3ARIEigQIEAoNCgUGAAI3AhIEigQRGgoNCgUGAAI3AxIEigQkOwoPCgUGAAI3BBIGiwQIjQQKChMKCQYAAjcEsMq8IhIGiwQIjQQKCioKBAYAAjgSBpEEBJUEBRoaIE9wZW5PTUNJIE1JQiBpbmZvcm1hdGlvbgoKDQoFBgACOAESBJEECBgKDQoFBgACOAISBJEEGSIKDQoFBgACOAMSBJEELD4KDwoFBgACOAQSBpIECJQECgoTCgkGAAI4BLDKvCISBpIECJQECgosCgQGAAI5EgaYBAScBAUaHCBPcGVuT01DSSBBTEFSTSBpbmZvcm1hdGlvbgoKDQoFBgACOQESBJgECBoKDQoFBgACOQISBJgEGyQKDQoFBgACOQMSBJgELkIKDwoFBgACOQQSBpkECJsECgoTCgkGAAI5BLDKvCISBpkECJsECgojCgQGAAI6EgafBASkBAUaEyBTaW11bGF0ZSBhbiBBbGFybQoKDQoFBgACOgESBJ8ECBUKDQoFBgACOgISBJ8EFjEKDQoFBgACOgMSBJ8EO08KDwoFBgACOgQSBqAECKMECgoTCgkGAAI6BLDKvCISBqAECKMECgoOCgQGAAI7EgamBASrBAUKDQoFBgACOwESBKYECBIKDQoFBgACOwISBKYEEx4KDQoFBgACOwMSBKYEKD0KDwoFBgACOwQSBqcECKoECgoTCgkGAAI7BLDKvCISBqcECKoECgoOCgQGAAI8EgasBASxBAUKDQoFBgACPAESBKwECBMKDQoFBgACPAISBKwEFB8KDQoFBgACPAMSBKwEKT4KDwoFBgACPAQSBq0ECLAECgoTCgkGAAI8BLDKvCISBq0ECLAECgoOCgQGAAI9EgayBAS2BAUKDQoFBgACPQESBLIECBMKDQoFBgACPQISBLIEFCwKDQoFBgACPQMSBLIENkwKDwoFBgACPQQSBrMECLUECgoTCgkGAAI9BLDKvCISBrMECLUECgoOCgQGAAI+Ega3BAS7BAUKDQoFBgACPgESBLcECBMKDQoFBgACPgISBLcEFCYKDQoFBgACPgMSBLcEMEUKDwoFBgACPgQSBrgECLoECgoTCgkGAAI+BLDKvCISBrgECLoECgo4CgQGAAI/Ega+BATDBAUaKCBvbWNpIHN0YXJ0IGFuZCBzdG9wIGNsaSBpbXBsZW1lbnRhdGlvbgoKDQoFBgACPwESBL4ECBsKDQoFBgACPwISBL4EHDAKDQoFBgACPwMSBL4EOksKDwoFBgACPwQSBr8ECMIECgoTCgkGAAI/BLDKvCISBr8ECMIECgpLCgQGAAJAEgbGBATLBAUaOyBTYXZlcyBvciB1cGRhdGVzIHN5c3RlbSB3aWRlIGNvbmZpZ3VyYXRpb24gaW50byB2b2x0aGEgS1YKCg0KBQYAAkABEgTGBAgcCg0KBQYAAkACEgTGBB1JCg0KBQYAAkADEgTGBFNoCg8KBQYAAkAEEgbHBAjKBAoKEwoJBgACQASwyrwiEgbHBAjKBAoKOgoEBgACQRIGzgQE0gQFGiogRGVsZXRlcyB0aGUgZ2l2ZW4gcHJvZmlsZSBmcm9tIHZvbHRoYSBLVgoKDQoFBgACQQESBM4ECB8KDQoFBgACQQISBM4EICoKDQoFBgACQQMSBM4ENEkKDwoFBgACQQQSBs8ECNEECgoTCgkGAAJBBLDKvCISBs8ECNEECgpCCgQGAAJCEgbVBATaBAUaMiBTYXZlcyBvciB1cGRhdGVzIGEgcHJvZmlsZSAoVk9JUCkgaW50byB2b2x0aGEgS1YKCg0KBQYAAkIBEgTVBAgaCg0KBQYAAkICEgTVBBtDCg0KBQYAAkIDEgTVBE1iCg8KBQYAAkIEEgbWBAjZBAoKEwoJBgACQgSwyrwiEgbWBAjZBAoKOgoEBgACQxIG3QQE4QQFGiogRGVsZXRlcyB0aGUgZ2l2ZW4gcHJvZmlsZSBmcm9tIHZvbHRoYSBLVgoKDQoFBgACQwESBN0ECB0KDQoFBgACQwISBN0EHigKDQoFBgACQwMSBN0EMkcKDwoFBgACQwQSBt4ECOAECgoTCgkGAAJDBLDKvCISBt4ECOAECgp0CgQGAAJEEgbkBAToBAUaZCBEaXNhYmxlcyB0aGUgT05VLCBzdG9wcyBpdCBmcm9tIHBhcnRpY2lwYXRpbmcgaW4gdGhlIHJhbmdpbmcgcHJvY2Vzcy4gZGlmZmVyZW50IGZyb20gRGlzYWJsZURldmljZQoKDQoFBgACRAESBOQECBgKDQoFBgACRAISBOQEGiMKDQoFBgACRAMSBOQELUIKDwoFBgACRAQSBuUECOcECgoTCgkGAAJEBLDKvCISBuUECOcECgqDAQoEBgACRRIG6wQE7wQFGnMgRW5hYmxlcyB0aGUgT05VIGF0IHRoZSBQTE9BTSAsIGVuYWJsZXMgdGhlIE9OVSB0byBwYXJ0aWNpcGF0ZSBpbiB0aGUgcmFuZ2luZyBwcm9jZXNzLiBkaWZmZXJlbnQgZnJvbSBFbmFibGVEZXZpY2UKCg0KBQYAAkUBEgTrBAgXCg0KBQYAAkUCEgTrBBkiCg0KBQYAAkUDEgTrBCxBCg8KBQYAAkUEEgbsBAjuBAoKEwoJBgACRQSwyrwiEgbsBAjuBAoKjQEKBAYAAkYSBvMEBPcEBRp9IERpc2FibGVzIHRoZSBPTlUgYXQgdGhlIFBMT0FNICwgZGlmZmVyZW50IGZyb20gRGlzYWJsZURldmljZS4gVGhpcyB3b3VsZCBiZSB1c2VkIGlmIHRoZSBEZXZpY2UgaXMgbm90IHByZXNlbnQgaW4gdGhlIFZPTFRIQQoKDQoFBgACRgESBPMECB4KDQoFBgACRgISBPMEHz0KDQoFBgACRgMSBPMER1wKDwoFBgACRgQSBvQECPYECgoTCgkGAAJGBLDKvCISBvQECPYECgqMAQoEBgACRxIG+gQE/gQFGnwgRGlzYWJsZXMgdGhlIE9OVSBhdCB0aGUgUExPQU0gLCBkaWZmZXJlbnQgZnJvbSBFbmFibGVEZXZpY2UuIFRoaXMgd291bGQgYmUgdXNlZCBpZiB0aGUgRGV2aWNlIGlzIG5vdCBwcmVzZW50IGluIHRoZSBWT0xUSEEKCg0KBQYAAkcBEgT6BAgdCg0KBQYAAkcCEgT6BB48Cg0KBQYAAkcDEgT6BEZbCg8KBQYAAkcEEgb7BAj9BAoKEwoJBgACRwSwyrwiEgb7BAj9BAoKYAoEBgACSBIGgQUEhQUFGlAgVXBkYXRlIHRoZSBEZXZpY2UgY29uZmlndXJhdGlvbiwgZm9yIG5vdyBvbmx5IGlwIGFkZHJlc3MgdXBkYXRpb24gaXMgc3VwcG9ydGVkCgoNCgUGAAJIARIEgQUIFAoNCgUGAAJIAhIEgQUVKAoNCgUGAAJIAxIEgQUyRwoPCgUGAAJIBBIGggUIhAUKChMKCQYAAkgEsMq8IhIGggUIhAUKUAJiBnByb3RvMwqBPQogdm9sdGhhX3Byb3Rvcy9jb3JlX2FkYXB0ZXIucHJvdG8SDGNvcmVfYWRhcHRlchoadm9sdGhhX3Byb3Rvcy9jb21tb24ucHJvdG8aGnZvbHRoYV9wcm90b3Mvdm9sdGhhLnByb3RvGh92b2x0aGFfcHJvdG9zL29wZW5mbG93XzEzLnByb3RvGht2b2x0aGFfcHJvdG9zL2FkYXB0ZXIucHJvdG8aGnZvbHRoYV9wcm90b3MvZGV2aWNlLnByb3RvGh52b2x0aGFfcHJvdG9zL2V4dGVuc2lvbnMucHJvdG8aHXZvbHRoYV9wcm90b3Mvb21jaV90ZXN0LnByb3RvIm4KE0FkYXB0ZXJSZWdpc3RyYXRpb24SKgoHYWRhcHRlchgBIAEoCzIQLmFkYXB0ZXIuQWRhcHRlclIHYWRhcHRlchIrCgZkVHlwZXMYAiABKAsyEy5kZXZpY2UuRGV2aWNlVHlwZXNSBmRUeXBlcyKSAQoRQ2hpbGREZXZpY2VGaWx0ZXISGwoJcGFyZW50X2lkGAEgASgJUghwYXJlbnRJZBIjCg1zZXJpYWxfbnVtYmVyGAIgASgJUgxzZXJpYWxOdW1iZXISFQoGb251X2lkGAMgASgNUgVvbnVJZBIkCg5wYXJlbnRfcG9ydF9ubxgEIAEoDVIMcGFyZW50UG9ydE5vInEKClBvcnRGaWx0ZXISGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBISCgRwb3J0GAIgASgNUgRwb3J0EjIKCXBvcnRfdHlwZRgDIAEoDjIVLmRldmljZS5Qb3J0LlBvcnRUeXBlUghwb3J0VHlwZSL4AQoPRGV2aWNlRGlzY292ZXJ5EhsKCXBhcmVudF9pZBgBIAEoCVIIcGFyZW50SWQSJAoOcGFyZW50X3BvcnRfbm8YAiABKA1SDHBhcmVudFBvcnRObxIqChFjaGlsZF9kZXZpY2VfdHlwZRgDIAEoCVIPY2hpbGREZXZpY2VUeXBlEh0KCmNoYW5uZWxfaWQYBCABKA1SCWNoYW5uZWxJZBIbCgl2ZW5kb3JfaWQYBSABKAlSCHZlbmRvcklkEiMKDXNlcmlhbF9udW1iZXIYBiABKAlSDHNlcmlhbE51bWJlchIVCgZvbnVfaWQYByABKA1SBW9udUlkItMBChFEZXZpY2VTdGF0ZUZpbHRlchIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEigKEHBhcmVudF9kZXZpY2VfaWQYAiABKAlSDnBhcmVudERldmljZUlkEjkKC29wZXJfc3RhdHVzGAMgASgOMhguY29tbW9uLk9wZXJTdGF0dXMuVHlwZXNSCm9wZXJTdGF0dXMSPAoLY29ubl9zdGF0dXMYBCABKA4yGy5jb21tb24uQ29ubmVjdFN0YXR1cy5UeXBlc1IKY29ublN0YXR1cyKwAQoJUG9ydFN0YXRlEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSMgoJcG9ydF90eXBlGAIgASgOMhUuZGV2aWNlLlBvcnQuUG9ydFR5cGVSCHBvcnRUeXBlEhcKB3BvcnRfbm8YAyABKA1SBnBvcnRObxI5CgtvcGVyX3N0YXR1cxgEIAEoDjIYLmNvbW1vbi5PcGVyU3RhdHVzLlR5cGVzUgpvcGVyU3RhdHVzIpMBCg9Qb3J0U3RhdGVGaWx0ZXISGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIoChBwb3J0X3R5cGVfZmlsdGVyGAIgASgNUg5wb3J0VHlwZUZpbHRlchI5CgtvcGVyX3N0YXR1cxgEIAEoDjIYLmNvbW1vbi5PcGVyU3RhdHVzLlR5cGVzUgpvcGVyU3RhdHVzIlMKCFBhY2tldEluEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSEgoEcG9ydBgCIAEoDVIEcG9ydBIWCgZwYWNrZXQYAyABKAxSBnBhY2tldCKDAQoJUGFja2V0T3V0EhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSJAoOZWdyZXNzX3BvcnRfbm8YAiABKA1SDGVncmVzc1BvcnRObxIzCgZwYWNrZXQYAyABKAsyGy5vcGVuZmxvd18xMy5vZnBfcGFja2V0X291dFIGcGFja2V0IkMKDERldmljZVJlYXNvbhIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhYKBnJlYXNvbhgCIAEoCVIGcmVhc29uIs4BCglCdWxrRmxvd3MSJgoGZGV2aWNlGAEgASgLMg4uZGV2aWNlLkRldmljZVIGZGV2aWNlEigKBWZsb3dzGAIgASgLMhIub3BlbmZsb3dfMTMuRmxvd3NSBWZsb3dzEi8KBmdyb3VwcxgDIAEoCzIXLm9wZW5mbG93XzEzLkZsb3dHcm91cHNSBmdyb3VwcxI+Cg1mbG93X21ldGFkYXRhGAQgASgLMhkub3BlbmZsb3dfMTMuRmxvd01ldGFkYXRhUgxmbG93TWV0YWRhdGEi4QEKEEluY3JlbWVudGFsRmxvd3MSJgoGZGV2aWNlGAEgASgLMg4uZGV2aWNlLkRldmljZVIGZGV2aWNlEi4KBWZsb3dzGAIgASgLMhgub3BlbmZsb3dfMTMuRmxvd0NoYW5nZXNSBWZsb3dzEjUKBmdyb3VwcxgDIAEoCzIdLm9wZW5mbG93XzEzLkZsb3dHcm91cENoYW5nZXNSBmdyb3VwcxI+Cg1mbG93X21ldGFkYXRhGAQgASgLMhkub3BlbmZsb3dfMTMuRmxvd01ldGFkYXRhUgxmbG93TWV0YWRhdGEiXgoNUG1Db25maWdzSW5mbxIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEjAKCnBtX2NvbmZpZ3MYAiABKAsyES5kZXZpY2UuUG1Db25maWdzUglwbUNvbmZpZ3MiiAEKEFN3aXRjaENhcGFiaWxpdHkSKQoEZGVzYxgBIAEoCzIVLm9wZW5mbG93XzEzLm9mcF9kZXNjUgRkZXNjEkkKD3N3aXRjaF9mZWF0dXJlcxgCIAEoCzIgLm9wZW5mbG93XzEzLm9mcF9zd2l0Y2hfZmVhdHVyZXNSDnN3aXRjaEZlYXR1cmVzImsKFEltYWdlRG93bmxvYWRNZXNzYWdlEiYKBmRldmljZRgBIAEoCzIOLmRldmljZS5EZXZpY2VSBmRldmljZRIrCgVpbWFnZRgCIAEoCzIVLmRldmljZS5JbWFnZURvd25sb2FkUgVpbWFnZSJjCghPTUNJVGVzdBImCgZkZXZpY2UYASABKAsyDi5kZXZpY2UuRGV2aWNlUgZkZXZpY2USLwoHcmVxdWVzdBgCIAEoCzIVLm9tY2kuT21jaVRlc3RSZXF1ZXN0UgdyZXF1ZXN0InYKFFNpbXVsYXRlQWxhcm1NZXNzYWdlEiYKBmRldmljZRgBIAEoCzIOLmRldmljZS5EZXZpY2VSBmRldmljZRI2CgdyZXF1ZXN0GAIgASgLMhwuZGV2aWNlLlNpbXVsYXRlQWxhcm1SZXF1ZXN0UgdyZXF1ZXN0IrYBChJHZXRFeHRWYWx1ZU1lc3NhZ2USMwoNcGFyZW50X2RldmljZRgBIAEoCzIO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dGF0dXMSEi5jb21tb24uQ29ubmVjdGlvbhoULmhlYWx0aC5IZWFsdGhTdGF0dXMoATABEjUKC0Fkb3B0RGV2aWNlEg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI5Cg9SZWNvbmNpbGVEZXZpY2USDi5kZXZpY2UuRGV2aWNlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjYKDERlbGV0ZURldmljZRIOLmRldmljZS5EZXZpY2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSNwoNRGlzYWJsZURldmljZRIOLmRldmljZS5EZXZpY2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSOAoOUmVFbmFibGVEZXZpY2USDi5kZXZpY2UuRGV2aWNlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjYKDFJlYm9vdERldmljZRIOLmRldmljZS5EZXZpY2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSOAoOU2VsZlRlc3REZXZpY2USDi5kZXZpY2UuRGV2aWNlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkIKEEdldE9mcERldmljZUluZm8SDi5kZXZpY2UuRGV2aWNlGh4uY29yZV9hZGFwdGVyLlN3aXRjaENhcGFiaWxpdHkSOQoPQ2hpbGREZXZpY2VMb3N0Eg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRIyCgpFbmFibGVQb3J0EgwuZGV2aWNlLlBvcnQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSMwoLRGlzYWJsZVBvcnQSDC5kZXZpY2UuUG9ydBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJCCg9VcGRhdGVGbG93c0J1bGsSFy5jb3JlX2FkYXB0ZXIuQnVsa0Zsb3dzGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElIKGFVwZGF0ZUZsb3dzSW5jcmVtZW50YWxseRIeLmNvcmVfYWRhcHRlci5JbmNyZW1lbnRhbEZsb3dzGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkAKDVNlbmRQYWNrZXRPdXQSFy5jb3JlX2FkYXB0ZXIuUGFja2V0T3V0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkUKDlVwZGF0ZVBtQ29uZmlnEhsuY29yZV9hZGFwdGVyLlBtQ29uZmlnc0luZm8aFi5nb29nbGUucHJvdG9idWYuRW1wdHkSUwoQRG93bmxvYWRPbnVJbWFnZRIiLmRldmljZS5EZXZpY2VJbWFnZURvd25sb2FkUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlEkwKEUdldE9udUltYWdlU3RhdHVzEhouZGV2aWNlLkRldmljZUltYWdlUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlEk8KFEFib3J0T251SW1hZ2VVcGdyYWRlEhouZGV2aWNlLkRldmljZUltYWdlUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlEi0KDEdldE9udUltYWdlcxIKLmNvbW1vbi5JRBoRLmRldmljZS5PbnVJbWFnZXMSSwoQQWN0aXZhdGVPbnVJbWFnZRIaLmRldmljZS5EZXZpY2VJbWFnZVJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZRJJCg5Db21taXRPbnVJbWFnZRIaLmRldmljZS5EZXZpY2VJbWFnZVJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZRJPCg1Eb3dubG9hZEltYWdlEiIuY29yZV9hZGFwdGVyLkltYWdlRG93bmxvYWRNZXNzYWdlGhUuZGV2aWNlLkltYWdlRG93bmxvYWQiA4gCARJYChZHZXRJbWFnZURvd25sb2FkU3RhdHVzEiIuY29yZV9hZGFwdGVyLkltYWdlRG93bmxvYWRNZXNzYWdlGhUuZGV2aWNlLkltYWdlRG93bmxvYWQiA4gCARJVChNDYW5jZWxJbWFnZURvd25sb2FkEiIuY29yZV9hZGFwdGVyLkltYWdlRG93bmxvYWRNZXNzYWdlGhUuZGV2aWNlLkltYWdlRG93bmxvYWQiA4gCARJVChNBY3RpdmF0ZUltYWdlVXBkYXRlEiIuY29yZV9hZGFwdGVyLkltYWdlRG93bmxvYWRNZXNzYWdlGhUuZGV2aWNlLkltYWdlRG93bmxvYWQiA4gCARJTChFSZXZlcnRJbWFnZVVwZGF0ZRIiLmNvcmVfYWRhcHRlci5JbWFnZURvd25sb2FkTWVzc2FnZRoVLmRldmljZS5JbWFnZURvd25sb2FkIgOIAgESOwoNU3RhcnRPbWNpVGVzdBIWLmNvcmVfYWRhcHRlci5PTUNJVGVzdBoSLm9tY2kuVGVzdFJlc3BvbnNlEkoKDVNpbXVsYXRlQWxhcm0SIi5jb3JlX2FkYXB0ZXIuU2ltdWxhdGVBbGFybU1lc3NhZ2UaFS5jb21tb24uT3BlcmF0aW9uUmVzcBI7Cg1TdXBwcmVzc0V2ZW50EhIuZXZlbnQuRXZlbnRGaWx0ZXIaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSPQoPVW5TdXBwcmVzc0V2ZW50EhIuZXZlbnQuRXZlbnRGaWx0ZXIaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSAoLR2V0RXh0VmFsdWUSIC5jb3JlX2FkYXB0ZXIuR2V0RXh0VmFsdWVNZXNzYWdlGhcuZXh0ZW5zaW9uLlJldHVyblZhbHVlcxJHCgtTZXRFeHRWYWx1ZRIgLmNvcmVfYWRhcHRlci5TZXRFeHRWYWx1ZU1lc3NhZ2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSVQoOR2V0U2luZ2xlVmFsdWUSIC5leHRlbnNpb24uU2luZ2xlR2V0VmFsdWVSZXF1ZXN0GiEuZXh0ZW5zaW9uLlNpbmdsZUdldFZhbHVlUmVzcG9uc2USVQoOU2V0U2luZ2xlVmFsdWUSIC5leHRlbnNpb24uU2luZ2xlU2V0VmFsdWVSZXF1ZXN0GiEuZXh0ZW5zaW9uLlNpbmdsZVNldFZhbHVlUmVzcG9uc2USOgoQRGlzYWJsZU9udURldmljZRIOLmRldmljZS5EZXZpY2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSOQoPRW5hYmxlT251RGV2aWNlEg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJRChZEaXNhYmxlT251U2VyaWFsTnVtYmVyEh8uZGV2aWNlLk9udVNlcmlhbE51bWJlck9uT0xUUG9uGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElAKFUVuYWJsZU9udVNlcmlhbE51bWJlchIfLmRldmljZS5PbnVTZXJpYWxOdW1iZXJPbk9MVFBvbhoWLmdvb2dsZS5wcm90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cm9ncmVzcwoKDgoHBAAEAAIHARIDGggaCg4KBwQABAACBwISAxodHgoLCgQEAAIAEgMcBB4KDQoFBAACAAQSBBwEGwUKDAoFBAACAAYSAxwECQoMCgUEAAIAARIDHAoZCgwKBQQAAgADEgMcHB1iBnByb3RvMwrtHAohdm9sdGhhX3Byb3Rvcy9jb3JlX3NlcnZpY2VzLnByb3RvEgxjb3JlX3NlcnZpY2UaG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90bxogdm9sdGhhX3Byb3Rvcy9jb3JlX2FkYXB0ZXIucHJvdG8aGnZvbHRoYV9wcm90b3MvY29tbW9uLnByb3RvGhp2b2x0aGFfcHJvdG9zL2RldmljZS5wcm90bxoadm9sdGhhX3Byb3Rvcy9oZWFsdGgucHJvdG8y/QsKC0NvcmVTZXJ2aWNlEj8KD0dldEhlYWx0aFN0YXR1cxISLmNvbW1vbi5Db25uZWN0aW9uGhQuaGVhbHRoLkhlYWx0aFN0YXR1cygBMAESTAoPUmVnaXN0ZXJBZGFwdGVyEiEuY29yZV9hZGFwdGVyLkFkYXB0ZXJSZWdpc3RyYXRpb24aFi5nb29nbGUucHJvdG9idWYuRW1wdHkSNgoMRGV2aWNlVXBkYXRlEg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRIzCgtQb3J0Q3JlYXRlZBIMLmRldmljZS5Qb3J0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkkKEFBvcnRzU3RhdGVVcGRhdGUSHS5jb3JlX2FkYXB0ZXIuUG9ydFN0YXRlRmlsdGVyGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjQKDkRlbGV0ZUFsbFBvcnRzEgouY29tbW9uLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjcKDUdldERldmljZVBvcnQSGC5jb3JlX2FkYXB0ZXIuUG9ydEZpbHRlchoMLmRldmljZS5Qb3J0EiwKD0xpc3REZXZpY2VQb3J0cxIKLmNvbW1vbi5JRBoNLmRldmljZS5Qb3J0cxJMChFEZXZpY2VTdGF0ZVVwZGF0ZRIfLmNvcmVfYWRhcHRlci5EZXZpY2VTdGF0ZUZpbHRlchoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJBChREZXZpY2VQTUNvbmZpZ1VwZGF0ZRIRLmRldmljZS5QbUNvbmZpZ3MaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRAoTQ2hpbGREZXZpY2VEZXRlY3RlZBIdLmNvcmVfYWRhcHRlci5EZXZpY2VEaXNjb3ZlcnkaDi5kZXZpY2UuRGV2aWNlEjYKEENoaWxkRGV2aWNlc0xvc3QSCi5jb21tb24uSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSOgoUQ2hpbGREZXZpY2VzRGV0ZWN0ZWQSCi5jb21tb24uSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSJwoJR2V0RGV2aWNlEgouY29tbW9uLklEGg4uZGV2aWNlLkRldmljZRJBCg5HZXRDaGlsZERldmljZRIfLmNvcmVfYWRhcHRlci5DaGlsZERldmljZUZpbHRlchoOLmRldmljZS5EZXZpY2USLgoPR2V0Q2hpbGREZXZpY2VzEgouY29tbW9uLklEGg8uZGV2aWNlLkRldmljZXMSPgoMU2VuZFBhY2tldEluEhYuY29yZV9hZGFwdGVyLlBhY2tldEluGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkgKEkRldmljZVJlYXNvblVwZGF0ZRIaLmNvcmVfYWRhcHRlci5EZXZpY2VSZWFzb24aFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQgoPUG9ydFN0YXRlVXBkYXRlEhcuY29yZV9hZGFwdGVyLlBvcnRTdGF0ZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI7ChVSZWNvbmNpbGVDaGlsZERldmljZXMSCi5jb21tb24uSUQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSTQoeR2V0Q2hpbGREZXZpY2VXaXRoUHJveHlBZGRyZXNzEhsuZGV2aWNlLkRldmljZS5Qcm94eUFkZHJlc3MaDi5kZXZpY2UuRGV2aWNlEjMKCEdldFBvcnRzEhguY29yZV9hZGFwdGVyLlBvcnRGaWx0ZXIaDS5kZXZpY2UuUG9ydHMSTgoTQ2hpbGRyZW5TdGF0ZVVwZGF0ZRIfLmNvcmVfYWRhcHRlci5EZXZpY2VTdGF0ZUZpbHRlchoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJEChNVcGRhdGVJbWFnZURv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DAoFBgACFAESAyoMKgoMCgUGAAIUAhIDKixGCgwKBQYAAhQDEgMqUV4KCwoEBgACFRIDKwhGCgwKBQYAAhUBEgMrDBQKDAoFBgACFQISAysWLQoMCgUGAAIVAxIDKzhECgsKBAYAAhYSAywIYQoMCgUGAAIWARIDLAwfCgwKBQYAAhYCEgMsIT8KDAoFBgACFgMSAyxKXwoLCgQGAAIXEgMtCFcKDAoFBgACFwESAy0MHwoMCgUGAAIXAhIDLSE1CgwKBQYAAhcDEgMtQFViBnByb3RvMwq8GAojdm9sdGhhX3Byb3Rvcy9pZXRmX2ludGVyZmFjZXMucHJvdG8SBGlldGYiRAoKSW50ZXJmYWNlcxI2Cg5hbGxfaW50ZXJmYWNlcxgBIAMoCzIPLmlldGYuSW50ZXJmYWNlUg1hbGxJbnRlcmZhY2VzIpICCglJbnRlcmZhY2USEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SEgoEdHlwZRgDIAEoCVIEdHlwZRIYCgdlbmFibGVkGAQgASgIUgdlbmFibGVkEmAKGGxpbmtfdXBfZG93bl90cmFwX2VuYWJsZRgFIAEoDjIoLmlldGYuSW50ZXJmYWNlLkxpbmtVcERvd25UcmFwRW5hYmxlVHlwZVIUbGlua1VwRG93blRyYXBFbmFibGUiPwoYTGlua1VwRG93blRyYXBFbmFibGVUeXBlEhEKDVRSQVBfRElTQUJMRUQQABIQCgxUUkFQX0VOQUJMRUQQASJMCg9JbnRlcmZhY2VzU3RhdGUSOQoNYWxsX2ludGVyZmFjcxgBIAMoCzIULmlldGYuSW50ZXJmYWNlU3RhdGVSDGFsbEludGVyZmFjcyLABAoOSW50ZXJmYWNlU3RhdGUSEgoEbmFtZRgBIAEoCVIEbmFtZRISCgR0eXBlGAIgASgJUgR0eXBlEkcKDGFkbWluX3N0YXR1cxgDIAEoDjIkLmlldGYuSW50ZXJmYWNlU3RhdGUuQWRtaW5TdGF0dXNUeXBlUgthZG1pblN0YXR1cxJECgtvcGVyX3N0YXR1cxgEIAEoDjIjLmlldGYuSW50ZXJmYWNlU3RhdGUuT3BlclN0YXR1c1R5cGVSCm9wZXJTdGF0dXMSHwoLbGFzdF9jaGFu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FgoGd2VpZ2h0GAQgASgHUgZ3ZWlnaHQSQQoMc2NoZWRfcG9saWN5GAUgASgOMh4udGVjaF9wcm9maWxlLlNjaGVkdWxpbmdQb2xpY3lSC3NjaGVkUG9saWN5IrgBChJUcmFmZmljU2hhcGluZ0luZm8SEAoDY2lyGAEgASgHUgNjaXISEAoDY2JzGAIgASgHUgNjYnMSEAoDcGlyGAMgASgHUgNwaXISEAoDcGJzGAQgASgHUgNwYnMSEAoDZ2lyGAUgASgHUgNnaXISSAoKYWRkX2J3X2luZBgGIAEoDjIqLnRlY2hfcHJvZmlsZS5JbmZlcnJlZEFkZGl0aW9uQldJbmRpY2F0aW9uUghhZGRCd0luZCKdAgoQVHJhZmZpY1NjaGVkdWxlchI1CglkaXJlY3Rpb24YASABKA4yFy50ZWNoX3Byb2ZpbGUuRGlyZWN0aW9uUglkaXJlY3Rpb24SGQoIYWxsb2NfaWQYAiABKAdSB2FsbG9jSWQSOwoJc2NoZWR1bGVyGAMgASgLMh0udGVjaF9wcm9maWxlLlNjaGVkdWxlckNvbmZpZ1IJc2NoZWR1bGVyElIKFHRyYWZmaWNfc2hhcGluZ19pbmZvGAQgASgLMiAudGVjaF9wcm9maWxlLlRyYWZmaWNTaGFwaW5nSW5mb1ISdHJhZmZpY1NoYXBpbmdJbmZvEiYKD3RlY2hfcHJvZmlsZV9pZBgFIAEoB1INdGVjaFByb2ZpbGVJZCK6AQoRVHJhZmZpY1NjaGVkdWxlcnMSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFQoGdW5pX2lkGAQgASgHUgV1bmlJZBIXCgdwb3J0X25vGAUgASgHUgZwb3J0Tm8SRQoOdHJhZmZpY19zY2hlZHMYAyADKAsyHi50ZWNoX3Byb2ZpbGUuVHJhZmZpY1NjaGVkdWxlclINdHJhZmZpY1NjaGVkcyI2ChVUYWlsRHJvcERpc2NhcmRDb25maWcSHQoKcXVldWVfc2l6ZRgBIAEoB1IJcXVldWVTaXplIoUBChBSZWREaXNjYXJkQ29uZmlnEiMKDW1pbl90aHJlc2hvbGQYASABKAdSDG1pblRocmVzaG9sZBIjCg1tYXhfdGhyZXNob2xkGAIgASgHUgxtYXhUaHJlc2hvbGQSJwoPbWF4X3Byb2JhYmlsaXR5GAMgASgHUg5tYXhQcm9iYWJpbGl0eSKzAQoRV1JlZERpc2NhcmRDb25maWcSNAoFZ3JlZW4YASABKAsyHi50ZWNoX3Byb2ZpbGUuUmVkRGlzY2FyZENvbmZpZ1IFZ3JlZW4SNgoGeWVsbG93GAIgASgLMh4udGVjaF9wcm9maWxlLlJlZERpc2NhcmRDb25maWdSBnllbGxvdxIwCgNyZWQYAyABKAsyHi50ZWNoX3Byb2ZpbGUuUmVkRGlzY2FyZENvbmZpZ1IDcmVkIugCCg1EaXNjYXJkQ29uZmlnEkIKDmRpc2NhcmRfcG9saWN5GAEgASgOMhsudGVjaF9wcm9maWxlLkRpc2NhcmRQb2xpY3lSDWRpc2NhcmRQb2xpY3kSXgoYdGFpbF9kcm9wX2Rpc2NhcmRfY29uZmlnGAIgASgLMiMudGVjaF9wcm9maWxlLlRhaWxEcm9wRGlzY2FyZENvbmZpZ0gAUhV0YWlsRHJvcERpc2NhcmRDb25maWcSTgoScmVkX2Rpc2NhcmRfY29uZmlnGAMgASgLMh4udGVjaF9wcm9maWxlLlJlZERpc2NhcmRDb25maWdIAFIQcmVkRGlzY2FyZENvbmZpZxJRChN3cmVkX2Rpc2NhcmRfY29uZmlnGAQgASgLMh8udGVjaF9wcm9maWxlLldSZWREaXNjYXJkQ29uZmlnSABSEXdyZWREaXNjYXJkQ29uZmlnQhAKDmRpc2NhcmRfY29uZmlnIqUDCgxUcmFmZmljUXVldWUSNQoJZGlyZWN0aW9uGAEgASgOMhcudGVjaF9wcm9maWxlLkRpcmVjdGlvblIJZGlyZWN0aW9uEh0KCmdlbXBvcnRfaWQYAiABKAdSCWdlbXBvcnRJZBIZCghwYml0X21hcBgDIAEoCVIHcGJpdE1hcBIlCg5hZXNfZW5jcnlwdGlvbhgEIAEoCFINYWVzRW5jcnlwdGlvbhJBCgxzY2hlZF9wb2xpY3kYBSABKA4yHi50ZWNoX3Byb2ZpbGUuU2NoZWR1bGluZ1BvbGljeVILc2NoZWRQb2xpY3kSGgoIcHJpb3JpdHkYBiABKAdSCHByaW9yaXR5EhYKBndlaWdodBgHIAEoB1IGd2VpZ2h0EkIKDmRpc2NhcmRfcG9saWN5GAggASgOMhsudGVjaF9wcm9maWxlLkRpc2NhcmRQb2xpY3lSDWRpc2NhcmRQb2xpY3kSQgoOZGlzY2FyZF9jb25maWcYCSABKAsyGy50ZWNoX3Byb2ZpbGUuRGlzY2FyZENvbmZpZ1INZGlzY2FyZENvbmZpZyKCAgoNVHJhZmZpY1F1ZXVlcxIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIVCgZ1bmlfaWQYBCABKAdSBXVuaUlkEhcKB3BvcnRfbm8YBSABKAdSBnBvcnRObxJBCg50cmFmZmljX3F1ZXVlcxgGIAMoCzIaLnRlY2hfcHJvZmlsZS5UcmFmZmljUXVldWVSDXRyYWZmaWNRdWV1ZXMSJgoPdGVjaF9wcm9maWxlX2lkGAcgASgHUg10ZWNoUHJvZmlsZUlkEiYKD25ldHdvcmtfaW50Zl9pZBgIIAEoB1INbmV0d29ya0ludGZJZCJmCg9JbnN0YW5jZUNvbnRyb2wSEAoDb251GAEgASgJUgNvbnUSEAoDdW5pGAIgASgJUgN1bmkSLwoUbWF4X2dlbV9wYXlsb2FkX3NpemUYAyABKAlSEW1heEdlbVBheWxvYWRTaXplIoICCgtRVGhyZXNob2xkcxIhCgxxX3RocmVzaG9sZDEYASABKA1SC3FUaHJlc2hvbGQxEiEKDHFfdGhyZXNob2xkMhgCIAEoDVILcVRocmVzaG9sZDISIQoMcV90aHJlc2hvbGQzGAMgASgNUgtxVGhyZXNob2xkMxIhCgxxX3RocmVzaG9sZDQYBCABKA1SC3FUaHJlc2hvbGQ0EiEKDHFfdGhyZXNob2xkNRgFIAEoDVILcVRocmVzaG9sZDUSIQoMcV90aHJlc2hvbGQ2GAYgASgNUgtxVGhyZXNob2xkNhIhCgxxX3RocmVzaG9sZDcYByABKA1SC3FUaHJlc2hvbGQ3IrMFChFHZW1Qb3J0QXR0cmlidXRlcxIdCgpnZW1wb3J0X2lkGAEgASgHUglnZW1wb3J0SWQSHAoKbWF4X3Ffc2l6ZRgCIAEoCVIIbWF4UVNpemUSGQoIcGJpdF9tYXAYAyABKAlSB3BiaXRNYXASJQoOYWVzX2VuY3J5cHRpb24YBCABKAlSDWFlc0VuY3J5cHRpb24SSwoRc2NoZWR1bGluZ19wb2xpY3kYBSABKA4yHi50ZWNoX3Byb2ZpbGUuU2NoZWR1bGluZ1BvbGljeVIQc2NoZWR1bGluZ1BvbGljeRIdCgpwcmlvcml0eV9xGAYgASgHUglwcmlvcml0eVESFgoGd2VpZ2h0GAcgASgHUgZ3ZWlnaHQSQgoOZGlzY2FyZF9wb2xpY3kYCCABKA4yGy50ZWNoX3Byb2ZpbGUuRGlzY2FyZFBvbGljeVINZGlzY2FyZFBvbGljeRJFCg5kaXNjYXJkX2NvbmZpZxgJIAEoCzIeLnRlY2hfcHJvZmlsZS5SZWREaXNjYXJkQ29uZmlnUg1kaXNjYXJkQ29uZmlnEkcKEWRpc2NhcmRfY29uZmlnX3YyGA4gASgLMhsudGVjaF9wcm9maWxlLkRpc2NhcmRDb25maWdSD2Rpc2NhcmRDb25maWdWMhIhCgxpc19tdWx0aWNhc3QYCiABKAlSC2lzTXVsdGljYXN0EigKEG11bHRpY2FzdF9nZW1faWQYCyABKAdSDm11bHRpY2FzdEdlbUlkEj0KG2R5bmFtaWNfYWNjZXNzX2NvbnRyb2xfbGlzdBgMIAEoCVIYZHluYW1pY0FjY2Vzc0NvbnRyb2xMaXN0EjsKGnN0YXRpY19hY2Nlc3NfY29udHJvbF9saXN0GA0gASgJUhdzdGF0aWNBY2Nlc3NDb250cm9sTGlzdCKiAgoTU2NoZWR1bGVyQXR0cmlidXRlcxI1CglkaXJlY3Rpb24YASABKA4yFy50ZWNoX3Byb2ZpbGUuRGlyZWN0aW9uUglkaXJlY3Rpb24SGQoIYWxsb2NfaWQYAiABKA1SB2FsbG9jSWQSPwoNYWRkaXRpb25hbF9idxgDIAEoDjIaLnRlY2hfcHJvZmlsZS5BZGRpdGlvbmFsQldSDGFkZGl0aW9uYWxCdxIaCghwcmlvcml0eRgEIAEoB1IIcHJpb3JpdHkSFgoGd2VpZ2h0GAUgASgHUgZ3ZWlnaHQSRAoOcV9zY2hlZF9wb2xpY3kYBiABKA4yHi50ZWNoX3Byb2ZpbGUuU2NoZWR1bGluZ1BvbGljeVIMcVNjaGVkUG9saWN5IsAGChNFUE9OUXVldWVBdHRyaWJ1dGVzEhwKCm1heF9xX3NpemUYASABKAlSCG1heFFTaXplEhkKCHBiaXRfbWFwGAIgASgJUgdwYml0TWFwEh0KCmdlbXBvcnRfaWQYAyABKA1SCWdlbXBvcnRJZBIlCg5hZXNfZW5jcnlwdGlvbhgEIAEoCVINYWVzRW5jcnlwdGlvbhIhCgx0cmFmZmljX3R5cGUYBSABKAlSC3RyYWZmaWNUeXBlEjQKFnVuc29saWNpdGVkX2dyYW50X3NpemUYBiABKA1SFHVuc29saWNpdGVkR3JhbnRTaXplEikKEG5vbWluYWxfaW50ZXJ2YWwYByABKA1SD25vbWluYWxJbnRlcnZhbBIyChV0b2xlcmF0ZWRfcG9sbF9qaXR0ZXIYCCABKA1SE3RvbGVyYXRlZFBvbGxKaXR0ZXISPgobcmVxdWVzdF90cmFuc21pc3Npb25fcG9saWN5GAkgASgNUhlyZXF1ZXN0VHJhbnNtaXNzaW9uUG9saWN5EhwKCm51bV9xX3NldHMYCiABKA1SCG51bVFTZXRzEjwKDHFfdGhyZXNob2xkcxgLIAEoCzIZLnRlY2hfcHJvZmlsZS5RVGhyZXNob2xkc1ILcVRocmVzaG9sZHMSSwoRc2NoZWR1bGluZ19wb2xpY3kYDCABKA4yHi50ZWNoX3Byb2ZpbGUuU2NoZWR1bGluZ1BvbGljeVIQc2NoZWR1bGluZ1BvbGljeRIdCgpwcmlvcml0eV9xGA0gASgNUglwcmlvcml0eVESFgoGd2VpZ2h0GA4gASgNUgZ3ZWlnaHQSQgoOZGlzY2FyZF9wb2xpY3kYDyABKA4yGy50ZWNoX3Byb2ZpbGUuRGlzY2FyZFBvbGljeVINZGlzY2FyZFBvbGljeRJFCg5kaXNjYXJkX2NvbmZpZxgQIAEoCzIeLnRlY2hfcHJvZmlsZS5SZWREaXNjYXJkQ29uZmlnUg1kaXNjYXJkQ29uZmlnEkcKEWRpc2NhcmRfY29uZmlnX3YyGBEgASgLMhsudGVjaF9wcm9maWxlLkRpc2NhcmRDb25maWdSD2Rpc2NhcmRDb25maWdWMiKuBAoLVGVjaFByb2ZpbGUSEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgd2ZXJzaW9uGAIgASgNUgd2ZXJzaW9uEiEKDHByb2ZpbGVfdHlwZRgDIAEoCVILcHJvZmlsZVR5cGUSIgoNbnVtX2dlbV9wb3J0cxgEIAEoDVILbnVtR2VtUG9ydHMSSAoQaW5zdGFuY2VfY29udHJvbBgFIAEoCzIdLnRlY2hfcHJvZmlsZS5JbnN0YW5jZUNvbnRyb2xSD2luc3RhbmNlQ29udHJvbBJECgx1c19zY2hlZHVsZXIYBiABKAsyIS50ZWNoX3Byb2ZpbGUuU2NoZWR1bGVyQXR0cmlidXRlc1ILdXNTY2hlZHVsZXISRAoMZHNfc2NoZWR1bGVyGAcgASgLMiEudGVjaF9wcm9maWxlLlNjaGVkdWxlckF0dHJpYnV0ZXNSC2RzU2NoZWR1bGVyEmcKIHVwc3RyZWFtX2dlbV9wb3J0X2F0dHJpYnV0ZV9saXN0GAggAygLMh8udGVjaF9wcm9maWxlLkdlbVBvcnRBdHRyaWJ1dGVzUhx1cHN0cmVhbUdlbVBvcnRBdHRyaWJ1dGVMaXN0EmsKImRvd25zdHJlYW1fZ2VtX3BvcnRfYXR0cmlidXRlX2xpc3QYCSADKAsyHy50ZWNoX3Byb2ZpbGUuR2VtUG9ydEF0dHJpYnV0ZXNSHmRvd25zdHJlYW1HZW1Qb3J0QXR0cmlidXRlTGlzdCLDAwoPRXBvblRlY2hQcm9maWxlEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHdmVyc2lvbhgCIAEoDVIHdmVyc2lvbhIhCgxwcm9maWxlX3R5cGUYAyABKAlSC3Byb2ZpbGVUeXBlEiIKDW51bV9nZW1fcG9ydHMYBCABKA1SC251bUdlbVBvcnRzEkgKEGluc3RhbmNlX2NvbnRyb2wYBSABKAsyHS50ZWNoX3Byb2ZpbGUuSW5zdGFuY2VDb250cm9sUg9pbnN0YW5jZUNvbnRyb2wSIQoMcGFja2FnZV90eXBlGAYgASgJUgtwYWNrYWdlVHlwZRJkCh11cHN0cmVhbV9xdWV1ZV9hdHRyaWJ1dGVfbGlzdBgHIAMoCzIhLnRlY2hfcHJvZmlsZS5FUE9OUXVldWVBdHRyaWJ1dGVzUhp1cHN0cmVhbVF1ZXVlQXR0cmlidXRlTGlzdBJoCh9kb3duc3RyZWFtX3F1ZXVlX2F0dHJpYnV0ZV9saXN0GAggAygLMiEudGVjaF9wcm9maWxlLkVQT05RdWV1ZUF0dHJpYnV0ZXNSHGRvd25zdHJlYW1RdWV1ZUF0dHJpYnV0ZUxpc3Qi6wQKE1RlY2hQcm9maWxlSW5zdGFuY2USEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgd2ZXJzaW9uGAIgASgNUgd2ZXJzaW9uEjMKFXN1YnNjcmliZXJfaWRlbnRpZmllchgDIAEoCVIUc3Vic2NyaWJlcklkZW50aWZpZXISIQoMcHJvZmlsZV90eXBlGAQgASgJUgtwcm9maWxlVHlwZRIiCg1udW1fZ2VtX3BvcnRzGAUgASgNUgtudW1HZW1Qb3J0cxJIChBpbnN0YW5jZV9jb250cm9sGAYgASgLMh0udGVjaF9wcm9maWxlLkluc3RhbmNlQ29udHJvbFIPaW5zdGFuY2VDb250cm9sEkQKDHVzX3NjaGVkdWxlchgHIAEoCzIhLnRlY2hfcHJvZmlsZS5TY2hlZHVsZXJBdHRyaWJ1dGVzUgt1c1NjaGVkdWxlchJECgxkc19zY2hlZHVsZXIYCCABKAsyIS50ZWNoX3Byb2ZpbGUuU2NoZWR1bGVyQXR0cmlidXRlc1ILZHNTY2hlZHVsZXISZwogdXBzdHJlYW1fZ2VtX3BvcnRfYXR0cmlidXRlX2xpc3QYCSADKAsyHy50ZWNoX3Byb2ZpbGUuR2VtUG9ydEF0dHJpYnV0ZXNSHHVwc3RyZWFtR2VtUG9ydEF0dHJpYnV0ZUxpc3QSawoiZG93bnN0cmVhbV9nZW1fcG9ydF9hdHRyaWJ1dGVfbGlzdBgKIAMoCzIfLnRlY2hfcHJvZmlsZS5HZW1Qb3J0QXR0cmlidXRlc1IeZG93bnN0cmVhbUdlbVBvcnRBdHRyaWJ1dGVMaXN0IpsEChdFcG9uVGVjaFByb2ZpbGVJbnN0YW5jZRISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3ZlcnNpb24YAiABKA1SB3ZlcnNpb24SMwoVc3Vic2NyaWJlcl9pZGVudGlmaWVyGAMgASgJUhRzdWJzY3JpYmVySWRlbnRpZmllchIhCgxwcm9maWxlX3R5cGUYBCABKAlSC3Byb2ZpbGVUeXBlEiIKDW51bV9nZW1fcG9ydHMYBSABKA1SC251bUdlbVBvcnRzEhkKCGFsbG9jX2lkGAYgASgNUgdhbGxvY0lkEkgKEGluc3RhbmNlX2NvbnRyb2wYByABKAsyHS50ZWNoX3Byb2ZpbGUuSW5zdGFuY2VDb250cm9sUg9pbnN0YW5jZUNvbnRyb2wSIQoMcGFja2FnZV90eXBlGAggASgJUgtwYWNrYWdlVHlwZRJkCh11cHN0cmVhbV9xdWV1ZV9hdHRyaWJ1dGVfbGlzdBgJIAMoCzIhLnRlY2hfcHJvZmlsZS5FUE9OUXVldWVBdHRyaWJ1dGVzUhp1cHN0cmVhbVF1ZXVlQXR0cmlidXRlTGlzdBJoCh9kb3duc3RyZWFtX3F1ZXVlX2F0dHJpYnV0ZV9saXN0GAogAygLMiEudGVjaF9wcm9maWxlLkVQT05RdWV1ZUF0dHJpYnV0ZXNSHGRvd25zdHJlYW1RdWV1ZUF0dHJpYnV0ZUxpc3QiuwEKEFJlc291cmNlSW5zdGFuY2USEwoFdHBfaWQYASABKA1SBHRwSWQSIQoMcHJvZmlsZV90eXBlGAIgASgJUgtwcm9maWxlVHlwZRIzChVzdWJzY3JpYmVyX2lkZW50aWZpZXIYAyABKAlSFHN1YnNjcmliZXJJZGVudGlmaWVyEhkKCGFsbG9jX2lkGAQgASgNUgdhbGxvY0lkEh8KC2dlbXBvcnRfaWRzGAUgAygNUgpnZW1wb3J0SWRzKjwKCURpcmVjdGlvbhIMCghVUFNUUkVBTRAAEg4KCkRPV05TVFJFQU0QARIRCg1CSURJUkVDVElPTkFMEAIqOwoQU2NoZWR1bGluZ1BvbGljeRIHCgNXUlIQABISCg5TdHJpY3RQcmlvcml0eRABEgoKBkh5YnJpZBACKm4KDEFkZGl0aW9uYWxCVxIVChFBZGRpdGlvbmFsQldfTm9uZRAAEhMKD0FkZGl0aW9uYWxCV19OQRABEhsKF0FkZGl0aW9uYWxCV19CZXN0RWZmb3J0EAISFQoRQWRkaXRpb25hbEJXX0F1dG8QAyo/Cg1EaXNjYXJkUG9saWN5EgwKCFRhaWxEcm9wEAASDQoJV1RhaWxEcm9wEAESBwoDUmVkEAISCAoEV1JlZBADKpwBChxJbmZlcnJlZEFkZGl0aW9uQldJbmRpY2F0aW9uEiUKIUluZmVycmVkQWRkaXRpb25CV0luZGljYXRpb25fTm9uZRAAEigKJEluZmVycmVkQWRkaXRpb25CV0luZGljYXRpb25fQXNzdXJlZBABEisKJ0luZmVycmVkQWRkaXRpb25CV0luZGljYXRpb25fQmVzdEVmZm9ydBACQlgKIG9yZy5vcGVuY29yZC52b2x0aGEudGVjaF9wcm9maWxlWjRnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vdGVjaF9wcm9maWxlSrRlCgcSBQ4AgAIBCvEECgEMEgMOABIy5gQgQ29weXJpZ2h0IDIwMTgtMjAyNCBPcGVuIE5ldHdvcmtpbmcgRm91bmRhdGlvbiAoT05GKSBhbmQgdGhlIE9ORiBDb250cmlidXRvcnMKCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKCiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgoICgEIEgMQAEsKCQoCCAsSAxAASwoICgEIEgMRADkKCQoCCAESAxEAOQoICgECEgMTABUKCQoCAwASAxQAJgoKCgIFABIEFgAaAQoKCgMFAAESAxYFDgoLCgQFAAIAEgMXBBEKDAoFBQACAAESAxcEDAoMCgUFAAIAAhIDFw8QCgsKBAUAAgESAxgEEwoMCgUFAAIBARIDGAQOCgwKBQUAAgECEgMYERIKCwoEBQACAhID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aWNhdGlvbkgAUgpvbnVEaXNjSW5kEjEKB29udV9pbmQYBSABKAsyFi5vcGVub2x0Lk9udUluZGljYXRpb25IAFIGb251SW5kEjQKCG9tY2lfaW5kGAYgASgLMhcub3Blbm9sdC5PbWNpSW5kaWNhdGlvbkgAUgdvbWNpSW5kEjQKB3BrdF9pbmQYByABKAsyGS5vcGVub2x0LlBhY2tldEluZGljYXRpb25IAFIGcGt0SW5kEjcKCnBvcnRfc3RhdHMYCCABKAsyFi5jb21tb24uUG9ydFN0YXRpc3RpY3NIAFIJcG9ydFN0YXRzEjgKCmZsb3dfc3RhdHMYCSABKAsyFy5vcGVub2x0LkZsb3dTdGF0aXN0aWNzSABSCWZsb3dTdGF0cxI3CglhbGFybV9pbmQYCiABKAsyGC5vcGVub2x0LkFsYXJtSW5kaWNhdGlvbkgAUghhbGFybUluZBJKChBvbnVfZGlzYWJsZWRfaW5kGAsgASgLMh4ub3Blbm9sdC5PbnVEaXNhYmxlZEluZGljYXRpb25IAFIOb251RGlzYWJsZWRJbmQSRwoPb251X2VuYWJsZWRfaW5kGAwgASgLMh0ub3Blbm9sdC5PbnVFbmFibGVkSW5kaWNhdGlvbkgAUg1vbnVFbmFibGVkSW5kQgYKBGRhdGEi6w0KD0FsYXJtSW5kaWNhdGlvbhIxCgdsb3NfaW5kGAEgASgLMhYub3Blbm9sdC5Mb3NJbmRpY2F0aW9uSABSBmxvc0luZBJECg5keWluZ19nYXNwX2luZBgCIAEoCzIcLm9wZW5vbHQuRHlpbmdHYXNwSW5kaWNhdGlvbkgAUgxkeWluZ0dhc3BJbmQSQQoNb251X2FsYXJtX2luZBgDIAEoCzIbLm9wZW5vbHQuT251QWxhcm1JbmRpY2F0aW9uSABSC29udUFsYXJtSW5kElcKFG9udV9zdGFydHVwX2ZhaWxfaW5kGAQgASgLMiQub3Blbm9sdC5PbnVTdGFydHVwRmFpbHVyZUluZGljYXRpb25IAFIRb251U3RhcnR1cEZhaWxJbmQSWgoWb251X3NpZ25hbF9kZWdyYWRlX2luZBgFIAEoCzIjLm9wZW5vbHQuT251U2lnbmFsRGVncmFkZUluZGljYXRpb25IAFITb251U2lnbmFsRGVncmFkZUluZBJbChdvbnVfZHJpZnRfb2Zfd2luZG93X2luZBgGIAEoCzIjLm9wZW5vbHQuT251RHJpZnRPZldpbmRvd0luZGljYXRpb25IAFITb251RHJpZnRPZldpbmRvd0luZBJUChFvbnVfbG9zc19vbWNpX2luZBgHIAEoCzInLm9wZW5vbHQuT251TG9zc09mT21jaUNoYW5uZWxJbmRpY2F0aW9uSABSDm9udUxvc3NPbWNpSW5kElcKFG9udV9zaWduYWxzX2ZhaWxfaW5kGAggASgLMiQub3Blbm9sdC5PbnVTaWduYWxzRmFpbHVyZUluZGljYXRpb25IAFIRb251U2lnbmFsc0ZhaWxJbmQSTwoMb251X3Rpd2lfaW5kGAkgASgLMisub3Blbm9sdC5PbnVUcmFuc21pc3Npb25JbnRlcmZlcmVuY2VXYXJuaW5nSABSCm9udVRpd2lJbmQSYAoXb251X2FjdGl2YXRpb25fZmFpbF9pbmQYCiABKAsyJy5vcGVub2x0Lk9udUFjdGl2YXRpb25GYWlsdXJlSW5kaWNhdGlvbkgAUhRvbnVBY3RpdmF0aW9uRmFpbEluZBJgChhvbnVfcHJvY2Vzc2luZ19lcnJvcl9pbmQYCyABKAsyJS5vcGVub2x0Lk9udVByb2Nlc3NpbmdFcnJvckluZGljYXRpb25IAFIVb251UHJvY2Vzc2luZ0Vycm9ySW5kEmUKGW9udV9sb3NzX29mX3N5bmNfZmFpbF9pbmQYDCABKAsyKi5vcGVub2x0Lk9udUxvc3NPZktleVN5bmNGYWlsdXJlSW5kaWNhdGlvbkgAUhRvbnVMb3NzT2ZTeW5jRmFpbEluZBJVChVvbnVfaXR1X3Bvbl9zdGF0c19pbmQYDSABKAsyIS5vcGVub2x0Lk9udUl0dVBvblN0YXRzSW5kaWNhdGlvbkgAUhFvbnVJdHVQb25TdGF0c0luZBJsChxvbnVfZGVhY3RpdmF0aW9uX2ZhaWx1cmVfaW5kGA4gASgLMikub3Blbm9sdC5PbnVEZWFjdGl2YXRpb25GYWlsdXJlSW5kaWNhdGlvbkgAUhlvbnVEZWFjdGl2YXRpb25GYWlsdXJlSW5kElcKFW9udV9yZW1vdGVfZGVmZWN0X2luZBgPIAEoCzIiLm9wZW5vbHQuT251UmVtb3RlRGVmZWN0SW5kaWNhdGlvbkgAUhJvbnVSZW1vdGVEZWZlY3RJbmQScwocb251X2xvc3NfZ2VtX2RlbGluZWF0aW9uX2luZBgQIAEoCzIxLm9wZW5vbHQuT251TG9zc09mR0VNQ2hhbm5lbERlbGluZWF0aW9uSW5kaWNhdGlvbkgAUhhvbnVMb3NzR2VtRGVsaW5lYXRpb25JbmQSdgogb251X3BoeXNpY2FsX2VxdWlwbWVudF9lcnJvcl9pbmQYESABKAsyLC5vcGVub2x0Lk9udVBoeXNpY2FsRXF1aXBtZW50RXJyb3JJbmRpY2F0aW9uSABSHG9udVBoeXNpY2FsRXF1aXBtZW50RXJyb3JJbmQSWwoTb251X2xvc3Nfb2ZfYWNrX2luZBgSIAEoCzIrLm9wZW5vbHQuT251TG9zc09mQWNrbm93bGVkZ2VtZW50SW5kaWNhdGlvbkgAUg9vbnVMb3NzT2ZBY2tJbmQSbwobb251X2RpZmZfcmVhY2hfZXhjZWVkZWRfaW5kGBMgASgLMi8ub3Blbm9sdC5PbnVEaWZmZXJlbnRpYWxSZWFjaEV4Y2VlZGVkSW5kaWNhdGlvbkgAUhdvbnVEaWZmUmVhY2hFeGNlZWRlZEluZEIGCgRkYXRhIi4KDU9sdEluZGljYXRpb24SHQoKb3Blcl9zdGF0ZRgBIAEoCVIJb3BlclN0YXRlIkgKDkludGZJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIdCgpvcGVyX3N0YXRlGAIgASgJUglvcGVyU3RhdGUiaAoRT251RGlzY0luZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEjoKDXNlcmlhbF9udW1iZXIYAiABKAsyFS5vcGVub2x0LlNlcmlhbE51bWJlclIMc2VyaWFsTnVtYmVyIpMECg1PbnVJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEh0KCm9wZXJfc3RhdGUYAyABKAlSCW9wZXJTdGF0ZRIfCgthZG1pbl9zdGF0ZRgFIAEoCVIKYWRtaW5TdGF0ZRI6Cg1zZXJpYWxfbnVtYmVyGAQgASgLMhUub3Blbm9sdC5TZXJpYWxOdW1iZXJSDHNlcmlhbE51bWJlchJMCgtmYWlsX3JlYXNvbhgGIAEoDjIrLm9wZW5vbHQuT251SW5kaWNhdGlvbi5BY3RpdmF0aW9uRmFpbFJlYXNvblIKZmFpbFJlYXNvbiKHAgoUQWN0aXZhdGlvbkZhaWxSZWFzb24SIwofT05VX0FDVElWQVRJT05fRkFJTF9SRUFTT05fTk9ORRAAEiYKIk9OVV9BQ1RJVkFUSU9OX0ZBSUxfUkVBU09OX1JBTkdJTkcQARI2CjJPTlVfQUNUSVZBVElPTl9GQUlMX1JFQVNPTl9QQVNTV09SRF9BVVRIRU5USUNBVElPThACEiIKHk9OVV9BQ1RJVkFUSU9OX0ZBSUxfUkVBU09OX0xPUxADEiEKHU9OVV9BQ1RJVkFUSU9OX0ZBSUxfT05VX0FMQVJNEAQSIwofT05VX0FDVElWQVRJT05fRkFJTF9TV0lUQ0hfT1ZFUhAFIoMBChVPbnVEaXNhYmxlZEluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSOgoNc2VyaWFsX251bWJlchgEIAEoCzIVLm9wZW5vbHQuU2VyaWFsTnVtYmVyUgxzZXJpYWxOdW1iZXIiggEKFE9udUVuYWJsZWRJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEjoKDXNlcmlhbF9udW1iZXIYBCABKAsyFS5vcGVub2x0LlNlcmlhbE51bWJlclIMc2VyaWFsTnVtYmVyIoIEChJJbnRmT3BlckluZGljYXRpb24SEgoEdHlwZRgBIAEoCVIEdHlwZRIXCgdpbnRmX2lkGAIgASgHUgZpbnRmSWQSHQoKb3Blcl9zdGF0ZRgDIAEoCVIJb3BlclN0YXRlEhQKBXNwZWVkGAQgASgHUgVzcGVlZBIeCgp0ZWNobm9sb2d5GAUgASgJUgp0ZWNobm9sb2d5EkUKBnJhbmdlcxgGIAEoCzItLm9wZW5vbHQuSW50Zk9wZXJJbmRpY2F0aW9uLlBPTlJlc291cmNlUmFuZ2VzUgZyYW5nZXMaogIKEVBPTlJlc291cmNlUmFuZ2VzEkgKBXBvb2xzGAMgAygLMjIub3Blbm9sdC5JbnRmT3BlckluZGljYXRpb24uUE9OUmVzb3VyY2VSYW5nZXMuUG9vbFIFcG9vbHMawgEKBFBvb2wSTwoEdHlwZRgBIAEoDjI7Lm9wZW5vbHQuSW50Zk9wZXJJbmRpY2F0aW9uLlBPTlJlc291cmNlUmFuZ2VzLlBvb2wuUG9vbFR5cGVSBHR5cGUSFAoFc3RhcnQYAyABKAdSBXN0YXJ0EhAKA2VuZBgEIAEoB1IDZW5kIkEKCFBvb2xUeXBlEgoKBk9OVV9JRBAAEgwKCEFMTE9DX0lEEAESDgoKR0VNUE9SVF9JRBACEgsKB0ZMT1dfSUQQAyJSCg5PbWNpSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIQCgNwa3QYAyABKAxSA3BrdCLxAQoQUGFja2V0SW5kaWNhdGlvbhIbCglpbnRmX3R5cGUYBSABKAlSCGludGZUeXBlEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYCCABKAdSBW9udUlkEhUKBnVuaV9pZBgJIAEoB1IFdW5pSWQSHQoKZ2VtcG9ydF9pZBgCIAEoB1IJZ2VtcG9ydElkEhcKB2Zsb3dfaWQYAyABKAdSBmZsb3dJZBIXCgdwb3J0X25vGAYgASgHUgZwb3J0Tm8SFgoGY29va2llGAcgASgGUgZjb29raWUSEAoDcGt0GAQgASgMUgNwa3QiQQoJSW50ZXJmYWNlEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIbCglpbnRmX3R5cGUYAiABKAdSCGludGZUeXBlIjwKCUhlYXJ0YmVhdBIvChNoZWFydGJlYXRfc2lnbmF0dXJlGAEgASgHUhJoZWFydGJlYXRTaWduYXR1cmUirAEKA09udRIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBI6Cg1zZXJpYWxfbnVtYmVyGAMgASgLMhUub3Blbm9sdC5TZXJpYWxOdW1iZXJSDHNlcmlhbE51bWJlchIQCgNwaXIYBCABKAdSA3BpchInCg9vbWNjX2VuY3J5cHRpb24YBSABKAhSDm9tY2NFbmNyeXB0aW9uIrEBChJPbnVMb2dpY2FsRGlzdGFuY2USFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSOQoZbG9naWNhbF9vbnVfZGlzdGFuY2VfemVybxgDIAEoB1IWbG9naWNhbE9udURpc3RhbmNlWmVybxIwChRsb2dpY2FsX29udV9kaXN0YW5jZRgEIAEoB1ISbG9naWNhbE9udURpc3RhbmNlIksKB09tY2lNc2cSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSEAoDcGt0GAMgASgMUgNwa3QioAEKCU9udVBhY2tldBIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIXCgdwb3J0X25vGAQgASgHUgZwb3J0Tm8SHQoKZ2VtcG9ydF9pZBgFIAEoB1IJZ2VtcG9ydElkEhkKCGFsbG9jX2lkGAYgASgHUgdhbGxvY0lkEhAKA3BrdBgDIAEoDFIDcGt0IjkKDFVwbGlua1BhY2tldBIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSEAoDcGt0GAIgASgMUgNwa3QiuAcKCkRldmljZUluZm8SFgoGdmVuZG9yGAEgASgJUgZ2ZW5kb3ISFAoFbW9kZWwYAiABKAlSBW1vZGVsEikKEGhhcmR3YXJlX3ZlcnNpb24YAyABKAlSD2hhcmR3YXJlVmVyc2lvbhIpChBmaXJtd2FyZV92ZXJzaW9uGAQgASgJUg9maXJtd2FyZVZlcnNpb24SGwoJZGV2aWNlX2lkGBAgASgJUghkZXZpY2VJZBIwChRkZXZpY2Vfc2VyaWFsX251bWJlchgRIAEoCVISZGV2aWNlU2VyaWFsTnVtYmVyEjEKFHByZXZpb3VzbHlfY29ubmVjdGVkGBMgASgIUhNwcmV2aW91c2x5Q29ubmVjdGVkEhsKCXBvbl9wb3J0cxgMIAEoB1IIcG9uUG9ydHMSGwoJbm5pX3BvcnRzGBQgASgHUghubmlQb3J0cxJACgZyYW5nZXMYDyADKAsyKC5vcGVub2x0LkRldmljZUluZm8uRGV2aWNlUmVzb3VyY2VSYW5nZXNSBnJhbmdlcxqVBAoURGV2aWNlUmVzb3VyY2VSYW5nZXMSGQoIaW50Zl9pZHMYASADKAdSB2ludGZJZHMSHgoKdGVjaG5vbG9neRgCIAEoCVIKdGVjaG5vbG9neRJDCgVwb29scxgDIAMoCzItLm9wZW5vbHQuRGV2aWNlSW5mby5EZXZpY2VSZXNvdXJjZVJhbmdlcy5Qb29sUgVwb29scxr8AgoEUG9vbBJKCgR0eXBlGAEgASgOMjYub3Blbm9sdC5EZXZpY2VJbmZvLkRldmljZVJlc291cmNlUmFuZ2VzLlBvb2wuUG9vbFR5cGVSBHR5cGUSUwoHc2hhcmluZxgCIAEoDjI5Lm9wZW5vbHQuRGV2aWNlSW5mby5EZXZpY2VSZXNvdXJjZVJhbmdlcy5Qb29sLlNoYXJpbmdUeXBlUgdzaGFyaW5nEhQKBXN0YXJ0GAMgASgHUgVzdGFydBIQCgNlbmQYBCABKAdSA2VuZCJBCghQb29sVHlwZRIKCgZPTlVfSUQQABIMCghBTExPQ19JRBABEg4KCkdFTVBPUlRfSUQQAhILCgdGTE9XX0lEEAMiaAoLU2hhcmluZ1R5cGUSFgoSREVESUNBVEVEX1BFUl9JTlRGEAASHwobU0hBUkVEX0JZX0FMTF9JTlRGX0FMTF9URUNIEAESIAocU0hBUkVEX0JZX0FMTF9JTlRGX1NBTUVfVEVDSBACSgQIBRAMSgQIDRAOSgQIDhAPIoQDCgpDbGFzc2lmaWVyEhUKBm9fdHBpZBgBIAEoB1IFb1RwaWQSEwoFb192aWQYAiABKAdSBG9WaWQSFQoGaV90cGlkGAMgASgHUgVpVHBpZBITCgVpX3ZpZBgEIAEoB1IEaVZpZBIXCgdvX3BiaXRzGAUgASgHUgZvUGJpdHMSFwoHaV9wYml0cxgGIAEoB1IGaVBiaXRzEhkKCGV0aF90eXBlGAcgASgHUgdldGhUeXBlEhcKB2RzdF9tYWMYCCABKAxSBmRzdE1hYxIXCgdzcmNfbWFjGAkgASgMUgZzcmNNYWMSGQoIaXBfcHJvdG8YCiABKAdSB2lwUHJvdG8SFQoGZHN0X2lwGAsgASgHUgVkc3RJcBIVCgZzcmNfaXAYDCABKAdSBXNyY0lwEhkKCHNyY19wb3J0GA0gASgHUgdzcmNQb3J0EhkKCGRzdF9wb3J0GA4gASgHUgdkc3RQb3J0EiAKDHBrdF90YWdfdHlwZRgPIAEoCVIKcGt0VGFnVHlwZSKFAwoJQWN0aW9uQ21kEiIKDWFkZF9vdXRlcl90YWcYASABKAhSC2FkZE91dGVyVGFnEigKEHJlbW92ZV9vdXRlcl90YWcYAiABKAhSDnJlbW92ZU91dGVyVGFnEiAKDHRyYXBfdG9faG9zdBgDIAEoCFIKdHJhcFRvSG9zdBIsChJyZW1hcmtfb3V0ZXJfcGJpdHMYBCABKAhSEHJlbWFya091dGVyUGJpdHMSLAoScmVtYXJrX2lubmVyX3BiaXRzGAUgASgIUhByZW1hcmtJbm5lclBiaXRzEiIKDWFkZF9pbm5lcl90YWcYBiABKAhSC2FkZElubmVyVGFnEigKEHJlbW92ZV9pbm5lcl90YWcYByABKAhSDnJlbW92ZUlubmVyVGFnEi4KE3RyYW5zbGF0ZV9pbm5lcl90YWcYCCABKAhSEXRyYW5zbGF0ZUlubmVyVGFnEi4KE3RyYW5zbGF0ZV9vdXRlcl90YWcYCSABKAhSEXRyYW5zbGF0ZU91dGVyVGFnIrgBCgZBY3Rpb24SJAoDY21kGAEgASgLMhIub3Blbm9sdC5BY3Rpb25DbWRSA2NtZBITCgVvX3ZpZBgCIAEoB1IEb1ZpZBIXCgdvX3BiaXRzGAMgASgHUgZvUGJpdHMSFQoGb190cGlkGAQgASgHUgVvVHBpZBITCgVpX3ZpZBgFIAEoB1IEaVZpZBIXCgdpX3BiaXRzGAYgASgHUgZpUGJpdHMSFQoGaV90cGlkGAcgASgHUgVpVHBpZCLHBgoERmxvdxIkCg5hY2Nlc3NfaW50Zl9pZBgBIAEoD1IMYWNjZXNzSW50ZklkEhUKBm9udV9pZBgCIAEoD1IFb251SWQSFQoGdW5pX2lkGAsgASgPUgV1bmlJZBIXCgdmbG93X2lkGAMgASgGUgZmbG93SWQSKgoRc3ltbWV0cmljX2Zsb3dfaWQYEiABKAZSD3N5bW1ldHJpY0Zsb3dJZBIbCglmbG93X3R5cGUYBCABKAlSCGZsb3dUeXBlEhkKCGFsbG9jX2lkGAogASgPUgdhbGxvY0lkEiYKD25ldHdvcmtfaW50Zl9pZBgFIAEoD1INbmV0d29ya0ludGZJZBIdCgpnZW1wb3J0X2lkGAYgASgPUglnZW1wb3J0SWQSMwoKY2xhc3NpZmllchgHIAEoCzITLm9wZW5vbHQuQ2xhc3NpZmllclIKY2xhc3NpZmllchInCgZhY3Rpb24YCCABKAsyDy5vcGVub2x0LkFjdGlvblIGYWN0aW9uEhoKCHByaW9yaXR5GAkgASgPUghwcmlvcml0eRIWCgZjb29raWUYDCABKAZSBmNvb2tpZRIXCgdwb3J0X25vGA0gASgHUgZwb3J0Tm8SGQoIZ3JvdXBfaWQYDiABKAdSB2dyb3VwSWQSJgoPdGVjaF9wcm9maWxlX2lkGA8gASgHUg10ZWNoUHJvZmlsZUlkEiUKDnJlcGxpY2F0ZV9mbG93GBAgASgIUg1yZXBsaWNhdGVGbG93EkgKD3BiaXRfdG9fZ2VtcG9ydBgRIAMoCzIgLm9wZW5vbHQuRmxvdy5QYml0VG9HZW1wb3J0RW50cnlSDXBiaXRUb0dlbXBvcnQSRQoOZ2VtcG9ydF90b19hZXMYEyADKAsyHy5vcGVub2x0LkZsb3cuR2VtcG9ydFRvQWVzRW50cnlSDGdlbXBvcnRUb0FlcxpAChJQYml0VG9HZW1wb3J0RW50cnkSEAoDa2V5GAEgASgHUgNrZXkSFAoFdmFsdWUYAiABKAdSBXZhbHVlOgI4ARo/ChFHZW1wb3J0VG9BZXNFbnRyeRIQCgNrZXkYASABKAdSA2tleRIUCgV2YWx1ZRgCIAEoCFIFdmFsdWU6AjgBIlQKDFNlcmlhbE51bWJlchIbCgl2ZW5kb3JfaWQYASABKAxSCHZlbmRvcklkEicKD3ZlbmRvcl9zcGVjaWZpYxgCIAEoDFIOdmVuZG9yU3BlY2lmaWMi5gcKDU9udVN0YXRpc3RpY3MSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSJQoOcG9zaXRpdmVfZHJpZnQYAyABKAZSDXBvc2l0aXZlRHJpZnQSJQoObmVnYXRpdmVfZHJpZnQYBCABKAZSDW5lZ2F0aXZlRHJpZnQSOAoYZGVsaW1pdGVyX21pc3NfZGV0ZWN0aW9uGAUgASgGUhZkZWxpbWl0ZXJNaXNzRGV0ZWN0aW9uEh0KCmJpcF9lcnJvcnMYBiABKAZSCWJpcEVycm9ycxIbCgliaXBfdW5pdHMYByABKAZSCGJpcFVuaXRzEjIKFWZlY19jb3JyZWN0ZWRfc3ltYm9scxgIIAEoBlITZmVjQ29ycmVjdGVkU3ltYm9scxI2ChdmZWNfY29kZXdvcmRzX2NvcnJlY3RlZBgJIAEoBlIVZmVjQ29kZXdvcmRzQ29ycmVjdGVkEj4KG2ZlY19jb2Rld29yZHNfdW5jb3JyZWN0YWJsZRgKIAEoBlIZZmVjQ29kZXdvcmRzVW5jb3JyZWN0YWJsZRIjCg1mZWNfY29kZXdvcmRzGAsgASgGUgxmZWNDb2Rld29yZHMSLgoTZmVjX2NvcnJlY3RlZF91bml0cxgMIAEoBlIRZmVjQ29ycmVjdGVkVW5pdHMSJgoPeGdlbV9rZXlfZXJyb3JzGA0gASgGUg14Z2VtS2V5RXJyb3JzEhsKCXhnZW1fbG9zcxgOIAEoBlIIeGdlbUxvc3MSJgoPcnhfcGxvYW1zX2Vycm9yGA8gASgGUg1yeFBsb2Ftc0Vycm9yEisKEnJ4X3Bsb2Ftc19ub25faWRsZRgQIAEoBlIPcnhQbG9hbXNOb25JZGxlEhcKB3J4X29tY2kYESABKAZSBnJ4T21jaRI4ChlyeF9vbWNpX3BhY2tldHNfY3JjX2Vycm9yGBIgASgGUhVyeE9tY2lQYWNrZXRzQ3JjRXJyb3ISGQoIcnhfYnl0ZXMYEyABKAZSB3J4Qnl0ZXMSHQoKcnhfcGFja2V0cxgUIAEoBlIJcnhQYWNrZXRzEhkKCHR4X2J5dGVzGBUgASgGUgd0eEJ5dGVzEh0KCnR4X3BhY2tldHMYFiABKAZSCXR4UGFja2V0cxIhCgxiZXJfcmVwb3J0ZWQYFyABKAZSC2JlclJlcG9ydGVkEh8KC2xjZGdfZXJyb3JzGBggASgGUgpsY2RnRXJyb3JzEh0KCnJkaV9lcnJvcnMYGSABKAZSCXJkaUVycm9ycxIcCgl0aW1lc3RhbXAYGiABKAdSCXRpbWVzdGFtcCLdAQoRR2VtUG9ydFN0YXRpc3RpY3MSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEh0KCmdlbXBvcnRfaWQYAiABKAdSCWdlbXBvcnRJZBIdCgpyeF9wYWNrZXRzGAMgASgGUglyeFBhY2tldHMSGQoIcnhfYnl0ZXMYBCABKAZSB3J4Qnl0ZXMSHQoKdHhfcGFja2V0cxgFIAEoBlIJdHhQYWNrZXRzEhkKCHR4X2J5dGVzGAYgASgGUgd0eEJ5dGVzEhwKCXRpbWVzdGFtcBgaIAEoB1IJdGltZXN0YW1wIrsBCg5GbG93U3RhdGlzdGljcxIXCgdmbG93X2lkGAEgASgHUgZmbG93SWQSGQoIcnhfYnl0ZXMYAiABKAZSB3J4Qnl0ZXMSHQoKcnhfcGFja2V0cxgDIAEoBlIJcnhQYWNrZXRzEhkKCHR4X2J5dGVzGAggASgGUgd0eEJ5dGVzEh0KCnR4X3BhY2tldHMYCSABKAZSCXR4UGFja2V0cxIcCgl0aW1lc3RhbXAYECABKAdSCXRpbWVzdGFtcCJACg1Mb3NJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIWCgZzdGF0dXMYAiABKAlSBnN0YXR1cyJdChNEeWluZ0dhc3BJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzIqMCChJPbnVBbGFybUluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSHQoKbG9zX3N0YXR1cxgDIAEoCVIJbG9zU3RhdHVzEh0KCmxvYl9zdGF0dXMYBCABKAlSCWxvYlN0YXR1cxIoChBsb3BjX21pc3Nfc3RhdHVzGAUgASgJUg5sb3BjTWlzc1N0YXR1cxIxChVsb3BjX21pY19lcnJvcl9zdGF0dXMYBiABKAlSEmxvcGNNaWNFcnJvclN0YXR1cxIfCgtsb2ZpX3N0YXR1cxgHIAEoCVIKbG9maVN0YXR1cxIhCgxsb2FtaV9zdGF0dXMYCCABKAlSC2xvYW1pU3RhdHVzImUKG09udVN0YXJ0dXBGYWlsdXJlSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cyKZAQoaT251U2lnbmFsRGVncmFkZUluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMSMwoWaW52ZXJzZV9iaXRfZXJyb3JfcmF0ZRgEIAEoB1ITaW52ZXJzZUJpdEVycm9yUmF0ZSKTAQoaT251RHJpZnRPZldpbmRvd0luZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMSFAoFZHJpZnQYBCABKAdSBWRyaWZ0EhcKB25ld19lcWQYBSABKAdSBm5ld0VxZCJoCh5PbnVMb3NzT2ZPbWNpQ2hhbm5lbEluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMimgEKG09udVNpZ25hbHNGYWlsdXJlSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cxIzChZpbnZlcnNlX2JpdF9lcnJvcl9yYXRlGAQgASgHUhNpbnZlcnNlQml0RXJyb3JSYXRlIoIBCiJPbnVUcmFuc21pc3Npb25JbnRlcmZlcmVuY2VXYXJuaW5nEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzEhQKBWRyaWZ0GAQgASgHUgVkcmlmdCJxCh5PbnVBY3RpdmF0aW9uRmFpbHVyZUluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSHwoLZmFpbF9yZWFzb24YAyABKAdSCmZhaWxSZWFzb24iawohT251TG9zc09mS2V5U3luY0ZhaWx1cmVJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzIlQKElJkaUVycm9ySW5kaWNhdGlvbhImCg9yZGlfZXJyb3JfY291bnQYASABKAZSDXJkaUVycm9yQ291bnQSFgoGc3RhdHVzGAIgASgJUgZzdGF0dXMilgEKGE9udUl0dVBvblN0YXRzSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBJBCg1yZGlfZXJyb3JfaW5kGAMgASgLMhsub3Blbm9sdC5SZGlFcnJvckluZGljYXRpb25IAFILcmRpRXJyb3JJbmRCBwoFc3RhdHMiTgocT251UHJvY2Vzc2luZ0Vycm9ySW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZCJqCiBPbnVEZWFjdGl2YXRpb25GYWlsdXJlSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cyJqChlPbnVSZW1vdGVEZWZlY3RJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEh0KCnJkaV9lcnJvcnMYAyABKAZSCXJkaUVycm9ycyKhAQooT251TG9zc09mR0VNQ2hhbm5lbERlbGluZWF0aW9uSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cxItChJkZWxpbmVhdGlvbl9lcnJvcnMYBCABKAdSEWRlbGluZWF0aW9uRXJyb3JzIm0KI09udVBoeXNpY2FsRXF1aXBtZW50RXJyb3JJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzImwKIk9udUxvc3NPZkFja25vd2xlZGdlbWVudEluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMijAEKJk9udURpZmZlcmVudGlhbFJlYWNoRXhjZWVkZWRJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzEhoKCGRpc3RhbmNlGAQgASgHUghkaXN0YW5jZSL2AQoLR3JvdXBNZW1iZXISIQoMaW50ZXJmYWNlX2lkGAEgASgNUgtpbnRlcmZhY2VJZBJJCg5pbnRlcmZhY2VfdHlwZRgCIAEoDjIiLm9wZW5vbHQuR3JvdXBNZW1iZXIuSW50ZXJmYWNlVHlwZVINaW50ZXJmYWNlVHlwZRIeCgtnZW1fcG9ydF9pZBgDIAEoDVIJZ2VtUG9ydElkEhoKCHByaW9yaXR5GAQgASgNUghwcmlvcml0eSI9Cg1JbnRlcmZhY2VUeXBlEgcKA1BPThAAEhAKDEVQT05fMUdfUEFUSBABEhEKDUVQT05fMTBHX1BBVEgQAiKGAgoFR3JvdXASGQoIZ3JvdXBfaWQYASABKA1SB2dyb3VwSWQSPAoHY29tbWFuZBgCIAEoDjIiLm9wZW5vbHQuR3JvdXAuR3JvdXBNZW1iZXJzQ29tbWFuZFIHY29tbWFuZBIuCgdtZW1iZXJzGAMgAygLMhQub3Blbm9sdC5Hcm91cE1lbWJlclIHbWVtYmVycxInCgZhY3Rpb24YBCABKAsyDy5vcGVub2x0LkFjdGlvblIGYWN0aW9uIksKE0dyb3VwTWVtYmVyc0NvbW1hbmQSDwoLQUREX01FTUJFUlMQABISCg5SRU1PVkVfTUVNQkVSUxABEg8KC1NFVF9NRU1CRVJTEAIiXQoKVmFsdWVQYXJhbRIeCgNvbnUYASABKAsyDC5vcGVub2x0Lk9udVIDb251Ei8KBXZhbHVlGAIgASgOMhkuZXh0ZW5zaW9uLlZhbHVlVHlwZS5UeXBlUgV2YWx1ZSLDAgoOUG9uUnhQb3dlckRhdGESFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMSUgoLZmFpbF9yZWFzb24YBCABKA4yMS5vcGVub2x0LlBvblJ4UG93ZXJEYXRhLlJzc2lNZWFzdXJlbWVudEZhaWxSZWFzb25SCmZhaWxSZWFzb24SKQoRcnhfcG93ZXJfbWVhbl9kYm0YBSABKAFSDnJ4UG93ZXJNZWFuRGJtImoKGVJzc2lNZWFzdXJlbWVudEZhaWxSZWFzb24SFAoQRkFJTF9SRUFTT05fTk9ORRAAEhwKGEZBSUxfUkVBU09OX05PX0RFTElNSVRFUhABEhkKFUZBSUxfUkVBU09OX05PX0FDQ0VTUxACImIKFE9udUFsbG9jSWRTdGF0aXN0aWNzEhYKBmludGZJZBgBIAEoB1IGaW50ZklkEhgKB2FsbG9jSWQYAiABKAdSB2FsbG9jSWQSGAoHcnhCeXRlcxgDIAEoBlIHcnhCeXRlcyKjAgoHT251SW5mbxIVCgZvbnVfaWQYASABKAdSBW9udUlkEi8KBXN0YXRlGAIgASgOMhkub3Blbm9sdC5PbnVJbmZvLk9udVN0YXRlUgVzdGF0ZRInCgRsb3NpGAMgASgOMhMub3Blbm9sdC5BbGFybVN0YXRlUgRsb3NpEicKBGxvZmkYBCABKA4yEy5vcGVub2x0LkFsYXJtU3RhdGVSBGxvZmkSKQoFbG9hbWkYBSABKA4yEy5vcGVub2x0LkFsYXJtU3RhdGVSBWxvYW1pIlMKCE9udVN0YXRlEgsKB1VOS05PV04QABISCg5OT1RfQ09ORklHVVJFRBABEgoKBkFDVElWRRACEgwKCElOQUNUSVZFEAMSDAoIRElTQUJMRUQQBCLnAQoLUG9uSW50ZkluZm8SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEjcKBXN0YXRlGAMgASgOMiEub3Blbm9sdC5Qb25JbnRmSW5mby5Qb25JbnRmU3RhdGVSBXN0YXRlEiUKA2xvcxgEIAEoDjITLm9wZW5vbHQuQWxhcm1TdGF0ZVIDbG9zIl8KDFBvbkludGZTdGF0ZRILCgdVTktOT1dOEAASEgoOQUNUSVZFX1dPUktJTkcQARISCg5BQ1RJVkVfU1RBTkRCWRACEgwKCElOQUNUSVZFEAMSDAoIRElTQUJMRUQQBCKGAQodSW50ZXJmYWNlT251U2VyaWFsTnVtYmVyT251SWQSTgoSaW50Zl9pZF9zZXJpYWxfbnVtGAEgASgLMiEub3Blbm9sdC5JbnRlcmZhY2VPbnVTZXJpYWxOdW1iZXJSD2ludGZJZFNlcmlhbE51bRIVCgZvbnVfaWQYAiABKAdSBW9udUlkInYKGEludGVyZmFjZU9udVNlcmlhbE51bWJlchIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSQQoRb251X3NlcmlhbF9udW1iZXIYAiABKAsyFS5vcGVub2x0LlNlcmlhbE51bWJlclIPb251U2VyaWFsTnVtYmVyIgcKBUVtcHR5Kh0KCkFsYXJtU3RhdGUSBwoDT0ZGEAASBgoCT04QATKmGwoHT3Blbm9sdBJECgpEaXNhYmxlT2x0Eg4ub3Blbm9sdC5FbXB0eRoOLm9wZW5vbHQuRW1wdHkiFoLT5JMCECILL3YxL0Rpc2FibGU6ASoSRgoLUmVlbmFibGVPbHQSDi5vcGVub2x0LkVtcHR5Gg4ub3Blbm9sdC5FbXB0eSIXgtPkkwIRIgwvdjEvUmVlbmFibGU6ASoSRQoLQWN0aXZhdGVPbnUSDC5vcGVub2x0Lk9udRoOLm9wZW5vbHQuRW1wdHkiGILT5JMCEiINL3YxL0VuYWJsZU9udToBKhJICg1EZWFjdGl2YXRlT251Egwub3Blbm9sdC5PbnUaDi5vcGVub2x0LkVtcHR5IhmC0+STAhMiDi92MS9EaXNhYmxlT251OgEqEkMKCURlbGV0ZU9udRIMLm9wZW5vbHQuT251Gg4ub3Blbm9sdC5FbXB0eSIYgtPkkwISIg0vdjEvRGVsZXRlT251OgEqEkkKCk9tY2lNc2dPdXQSEC5vcGVub2x0Lk9tY2lNc2caDi5vcGVub2x0LkVtcHR5IhmC0+STAhMiDi92MS9PbWNpTXNnT3V0OgEqEk8KDE9udVBhY2tldE91dBISLm9wZW5vbHQuT251UGFja2V0Gg4ub3Blbm9sdC5FbXB0eSIbgtPkkwIVIhAvdjEvT251UGFja2V0T3V0OgEqElgKD1VwbGlua1BhY2tldE91dBIVLm9wZW5vbHQuVXBsaW5rUGFja2V0Gg4ub3Blbm9sdC5FbXB0eSIegtPkkwIYIhMvdjEvVXBsaW5rUGFja2V0T3V0OgEqEkAKB0Zsb3dBZGQSDS5vcGVub2x0LkZsb3caDi5vcGVub2x0LkVtcHR5IhaC0+STAhAiCy92MS9GbG93QWRkOgEqEkYKCkZsb3dSZW1vdmUSDS5vcGVub2x0LkZsb3caDi5vcGVub2x0LkVtcHR5IhmC0+STAhMiDi92MS9GbG93UmVtb3ZlOgEqElMKDkhlYXJ0YmVhdENoZWNrEg4ub3Blbm9sdC5FbXB0eRoSLm9wZW5vbHQuSGVhcnRiZWF0Ih2C0+STAhciEi92MS9IZWFydGJlYXRDaGVjazoBKhJNCgtFbmFibGVQb25JZhISLm9wZW5vbHQuSW50ZXJmYWNlGg4ub3Blbm9sdC5FbXB0eSIagtPkkwIUIg8vdjEvRW5hYmxlUG9uSWY6ASoSTwoMRGlzYWJsZVBvbklmEhIub3Blbm9sdC5JbnRlcmZhY2UaDi5vcGVub2x0LkVtcHR5IhuC0+STAhUiEC92MS9EaXNhYmxlUG9uSWY6ASoSUgoNR2V0RGV2aWNlSW5mbxIOLm9wZW5vbHQuRW1wdHkaEy5vcGVub2x0LkRldmljZUluZm8iHILT5JMCFiIRL3YxL0dldERldmljZUluZm86ASoSPwoGUmVib290Eg4ub3Blbm9sdC5FbXB0eRoOLm9wZW5vbHQuRW1wdHkiFYLT5JMCDyIKL3YxL1JlYm9vdDoBKhJVChFDb2xsZWN0U3RhdGlzdGljcxIOLm9wZW5vbHQuRW1wdHkaDi5vcGVub2x0LkVtcHR5IiCC0+STAhoiFS92MS9Db2xsZWN0U3RhdGlzdGljczoBKhJZChBHZXRPbnVTdGF0aXN0aWNzEgwub3Blbm9sdC5PbnUaFi5vcGVub2x0Lk9udVN0YXRpc3RpY3MiH4LT5JMCGSIUL3YxL0dldE9udVN0YXRpc3RpY3M6ASoSawoUR2V0R2VtUG9ydFN0YXRpc3RpY3MSEi5vcGVub2x0Lk9udVBhY2tldBoaLm9wZW5vbHQuR2VtUG9ydFN0YXRpc3RpY3MiI4LT5JMCHSIYL3YxL0dldEdlbVBvcnRTdGF0aXN0aWNzOgEqEnIKF0NyZWF0ZVRyYWZmaWNTY2hlZHVsZXJzEh8udGVjaF9wcm9maWxlLlRyYWZmaWNTY2hlZHVsZXJzGg4ub3Blbm9sdC5FbXB0eSImgtPkkwIgIhsvdjEvQ3JlYXRlVHJhZmZpY1NjaGVkdWxlcnM6ASoScgoXUmVtb3ZlVHJhZmZpY1NjaGVkdWxlcnMSHy50ZWNoX3Byb2ZpbGUuVHJhZmZpY1NjaGVkdWxlcnMaDi5vcGVub2x0LkVtcHR5IiaC0+STAiAiGy92MS9SZW1vdmVUcmFmZmljU2NoZWR1bGVyczoBKhJmChNDcmVhdGVUcmFmZmljUXVldWVzEhsudGVjaF9wcm9maWxlLlRyYWZmaWNRdWV1ZXMaDi5vcGVub2x0LkVtcHR5IiKC0+STAhwiFy92MS9DcmVhdGVUcmFmZmljUXVldWVzOgEqEmYKE1JlbW92ZVRyYWZmaWNRdWV1ZXMSGy50ZWNoX3Byb2ZpbGUuVHJhZmZpY1F1ZXVlcxoOLm9wZW5vbHQuRW1wdHkiIoLT5JMCHCIXL3YxL1JlbW92ZVRyYWZmaWNRdWV1ZXM6ASoSOwoQRW5hYmxlSW5kaWNhdGlvbhIOLm9wZW5vbHQuRW1wdHkaEy5vcGVub2x0LkluZGljYXRpb24iADABEl0KFVBlcmZvcm1Hcm91cE9wZXJhdGlvbhIOLm9wZW5vbHQuR3JvdXAaDi5vcGVub2x0LkVtcHR5IiSC0+STAh4iGS92MS9QZXJmb3JtR3JvdXBPcGVyYXRpb246ASoSSQoLRGVsZXRlR3JvdXASDi5vcGVub2x0Lkdyb3VwGg4ub3Blbm9sdC5FbXB0eSIagtPkkwIUIg8vdjEvRGVsZXRlR3JvdXA6ASoSVwoLR2V0RXh0VmFsdWUSEy5vcGVub2x0LlZhbHVlUGFyYW0aFy5leHRlbnNpb24uUmV0dXJuVmFsdWVzIhqC0+STAhQiDy92MS9HZXRFeHRWYWx1ZToBKhJdChFPbnVJdHVQb25BbGFybVNldBIWLmNvbmZpZy5PbnVJdHVQb25BbGFybRoOLm9wZW5vbHQuRW1wdHkiIILT5JMCGiIVL3YxL09udUl0dVBvbkFsYXJtU2V0OgEqEnAKGUdldExvZ2ljYWxPbnVEaXN0YW5jZVplcm8SDC5vcGVub2x0Lk9udRobLm9wZW5vbHQuT251TG9naWNhbERpc3RhbmNlIiiC0+STAiIiHS92MS9HZXRMb2dpY2FsT251RGlzdGFuY2VaZXJvOgEqEmgKFUdldExvZ2ljYWxPbnVEaXN0YW5jZRIMLm9wZW5vbHQuT251Ghsub3Blbm9sdC5PbnVMb2dpY2FsRGlzdGFuY2UiJILT5JMCHiIZL3YxL0dldExvZ2ljYWxPbnVEaXN0YW5jZToBKhJUCg1HZXRQb25SeFBvd2VyEgwub3Blbm9sdC5PbnUaFy5vcGVub2x0LlBvblJ4UG93ZXJEYXRhIhyC0+STAhYiES92MS9HZXRQb25SeFBvd2VyOgEqEkcKCkdldE9udUluZm8SDC5vcGVub2x0Lk9udRoQLm9wZW5vbHQuT251SW5mbyIZgtPkkwITIg4vdjEvR2V0T251SW5mbzoBKhJgChNHZXRQb25JbnRlcmZhY2VJbmZvEhIub3Blbm9sdC5JbnRlcmZhY2UaFC5vcGVub2x0LlBvbkludGZJbmZvIh+C0+STAhkiFC92MS9HZXRJbnRlcmZhY2VJbmZvOgEqEm4KFEdldEFsbG9jSWRTdGF0aXN0aWNzEhIub3Blbm9sdC5PbnVQYWNrZXQaHS5vcGVub2x0Lk9udUFsbG9jSWRTdGF0aXN0aWNzIiOC0+STAh0iGC92MS9HZXRBbGxvY0lkU3RhdGlzdGljczoBKhJnChRHZXRQb25Qb3J0U3RhdGlzdGljcxISLm9wZW5vbHQuSW50ZXJmYWNlGhYuY29tbW9uLlBvcnRTdGF0aXN0aWNzIiOC0+STAh0iGC92MS9HZXRQb25Qb3J0U3RhdGlzdGljczoBKhJnChRHZXRObmlQb3J0U3RhdGlzdGljcxISLm9wZW5vbHQuSW50ZXJmYWNlGhYuY29tbW9uLlBvcnRTdGF0aXN0aWNzIiOC0+STAh0iGC92MS9HZXRObmlQb3J0U3RhdGlzdGljczoBKhJcCgpEaXNhYmxlT251EiYub3Blbm9sdC5JbnRlcmZhY2VPbnVTZXJpYWxOdW1iZXJPbnVJZBoOLm9wZW5vbHQuRW1wdHkiFoLT5JMCECIOL3YxL0Rpc2FibGVPbnUSWgoJRW5hYmxlT251EiYub3Blbm9sdC5JbnRlcmZhY2VPbnVTZXJpYWxOdW1iZXJPbnVJZBoOLm9wZW5vbHQuRW1wdHkiFYLT5JMCDyINL3YxL0VuYWJsZU9udRJvChZEaXNhYmxlT251U2VyaWFsTnVtYmVyEiEub3Blbm9sdC5JbnRlcmZhY2VPbnVTZXJpYWxOdW1iZXIaDi5vcGVub2x0LkVtcHR5IiKC0+STAhwiGi92MS9EaXNhYmxlT251U2VyaWFsTnVtYmVyEm0KFUVuYWJsZU9udVNlcmlhbE51bWJlchIhLm9wZW5vbHQuSW50ZXJmYWNlT251U2VyaWFsTnVtYmVyGg4ub3Blbm9sdC5FbXB0eSIhgtPkkwIbIhkvdjEvRW5hYmxlT251U2VyaWFsTnVtYmVyQl0KG29yZy5vcGVuY29yZC52b2x0aGEub3Blbm9sdEINVm9sdGhhT3Blbk9MVFovZ2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL29wZW5vbHRKkZcCCgcSBQ4AqwcQCvEECgEMEgMOABIy5gQgQ29weXJpZ2h0IDIwMTgtMjAyNCBPcGVuIE5ldHdvcmtpbmcgRm91bmRhdGlvbiAoT05GKSBhbmQgdGhlIE9ORiBDb250cmlidXRvcnMKCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKCiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgoICgEIEgMQAEYKCQoCCAsSAxAARgoICgEIEgMRADQKCQoCCAESAxEANAoICgEIEgMSAC4KCQoCCAgSAxIALgoICgECEgMUABAKCQoCAwASAxUAJgoJCgIDARIDFgAqCgkKAgMCEgMXACgKCQoCAwMSAxgAKAoJCgIDBBIDGQAkCgsKAgYAEgUbANACAQoKCgMGAAESAxsI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cHJvdG9zL29wZW5vbHQucHJvdG8aGnZvbHRoYV9wcm90b3MvZGV2aWNlLnByb3RvIv8BCgtPbWNpTWVzc2FnZRIYCgdtZXNzYWdlGAEgASgMUgdtZXNzYWdlEkIKDmNvbm5lY3Rfc3RhdHVzGAIgASgOMhsuY29tbW9uLkNvbm5lY3RTdGF0dXMuVHlwZXNSDWNvbm5lY3RTdGF0dXMSQAoNcHJveHlfYWRkcmVzcxgDIAEoCzIbLmRldmljZS5EZXZpY2UuUHJveHlBZGRyZXNzUgxwcm94eUFkZHJlc3MSKAoQcGFyZW50X2RldmljZV9pZBgEIAEoCVIOcGFyZW50RGV2aWNlSWQSJgoPY2hpbGRfZGV2aWNlX2lkGAUgASgJUg1jaGlsZERldmljZUlkIoICCgxPbWNpTWVzc2FnZXMSGgoIbWVzc2FnZXMYASADKAxSCG1lc3NhZ2VzEkIKDmNvbm5lY3Rfc3RhdHVzGAIgASgOMhsuY29tbW9uLkNvbm5lY3RTdGF0dXMuVHlwZXNSDWNvbm5lY3RTdGF0dXMSQAoNcHJveHlfYWRkcmVzcxgDIAEoCzIbLmRldmljZS5EZXZpY2UuUHJveHlBZGRyZXNzUgxwcm94eUFkZHJlc3MSKAoQcGFyZW50X2RldmljZV9pZBgEIAEoCVIOcGFyZW50RGV2aWNlSWQSJgoPY2hpbGRfZGV2aWNlX2lkGAUgASgJUg1jaGlsZERldmljZUlkIqcCChpUZWNoUHJvZmlsZURvd25sb2FkTWVzc2FnZRIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhUKBnVuaV9pZBgCIAEoDVIFdW5pSWQSKAoQdHBfaW5zdGFuY2VfcGF0aBgDIAEoCVIOdHBJbnN0YW5jZVBhdGgSRAoLdHBfaW5zdGFuY2UYBCABKAsyIS50ZWNoX3Byb2ZpbGUuVGVjaFByb2ZpbGVJbnN0YW5jZUgAUgp0cEluc3RhbmNlElEKEGVwb25fdHBfaW5zdGFuY2UYBSABKAsyJS50ZWNoX3Byb2ZpbGUuRXBvblRlY2hQcm9maWxlSW5zdGFuY2VIAFIOZXBvblRwSW5zdGFuY2VCEgoQdGVjaF90cF9pbnN0YW5jZSKUAQoURGVsZXRlR2VtUG9ydE1lc3NhZ2USGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIVCgZ1bmlfaWQYAiABKA1SBXVuaUlkEigKEHRwX2luc3RhbmNlX3BhdGgYAyABKAlSDnRwSW5zdGFuY2VQYXRoEh4KC2dlbV9wb3J0X2lkGAQgASgNUglnZW1Qb3J0SWQijQEKEkRlbGV0ZVRjb250TWVzc2FnZRIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhUKBnVuaV9pZBgCIAEoDVIFdW5pSWQSKAoQdHBfaW5zdGFuY2VfcGF0aBgDIAEoCVIOdHBJbnN0YW5jZVBhdGgSGQoIYWxsb2NfaWQYBCABKA1SB2FsbG9jSWQicgoUT251SW5kaWNhdGlvbk1lc3NhZ2USGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBI9Cg5vbnVfaW5kaWNhdGlvbhgCIAEoCzIWLm9wZW5vbHQuT251SW5kaWNhdGlvblINb251SW5kaWNhdGlvbiLqAQohVGVjaFByb2ZpbGVJbnN0YW5jZVJlcXVlc3RNZXNzYWdlEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSKAoQdHBfaW5zdGFuY2VfcGF0aBgCIAEoCVIOdHBJbnN0YW5jZVBhdGgSKAoQcGFyZW50X2RldmljZV9pZBgDIAEoCVIOcGFyZW50RGV2aWNlSWQSJgoPcGFyZW50X3Bvbl9wb3J0GAQgASgNUg1wYXJlbnRQb25Qb3J0EhUKBm9udV9pZBgFIAEoDVIFb251SWQSFQoGdW5pX2lkGAYgASgNUgV1bmlJZEJaCiFvcmcub3BlbmNvcmQudm9sdGhhLmludGVyX2FkYXB0ZXJaNWdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby9pbnRlcl9hZGFwdGVySq8UCgYSBAAARAEKCAoBDBIDAAASCggKAQgSAwIATAoJCgIICxIDAgBMCggKAQgSAwMAOgoJCgIIARIDAwA6CgkKAgMAEgMFACQKCQoCAwESAwYAJAoJCgIDAhIDBwAqCgkKAgMDEgMIACUKCQoCAwQSAwkAJAoICgECEgMLABYKJAoCBAASBBAAFgEyGCBJbnRlci1BZGFwdGVyIG1lc3NhZ2VzCgoKCgMEAAESAxAIEwoLCgQEAAIAEgMRBBYKDQoF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dGhTdGF0dXMoATABEkYKEFByb3h5T21jaVJlcXVlc3QSGi5pbnRlcl9hZGFwdGVyLk9tY2lNZXNzYWdlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkgKEVByb3h5T21jaVJlcXVlc3RzEhsuaW50ZXJfYWRhcHRlci5PbWNpTWVzc2FnZXMaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSdQoWR2V0VGVjaFByb2ZpbGVJbnN0YW5jZRIwLmludGVyX2FkYXB0ZXIuVGVjaFByb2ZpbGVJbnN0YW5jZVJlcXVlc3RNZXNzYWdlGikuaW50ZXJfYWRhcHRlci5UZWNoUHJvZmlsZURvd25sb2FkTWVzc2FnZUKQAQotb3JnLm9wZW5jb3JkLnZvbHRoYS5vbHRfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlQhxWb2x0aGFPbHRJbnRlckFkYXB0ZXJTZXJ2aWNlWkFnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vb2x0X2ludGVyX2FkYXB0ZXJfc2VydmljZUq2BAoGEgQAABYBCggKAQwSAwAAEgoICgEIEgMCAFgKCQoCCAsSAwIAWAoICgEIEgMDAEYKCQoCCAESAwMARgoICgEIEgMEAD0KCQoCCAgSAwQAPQoICgECEgMGACIKCQoCAwASAwgAJAoJCgIDARIDCQAlCgkKAgMCEgMKACsKCQoCAwMSAwsAJAoKCgIGABIEDQAWAQoKCgMGAAESAw0IHgqnAQoEBgACABIDEARXGpkBIEdldEhlYWx0aFN0YXR1cyBpcyB1c2VkIGJ5IGEgT2x0SW50ZXJBZGFwdGVyU2VydmljZSBjbGllbnQgdG8gZGV0ZWN0IGEgY29ubmVjdGlvbgogbG9zdCB3aXRoIHRoZSBnUlBDIHNlcnZlciBob3N0aW5nIHRoZSBPbHRJbnRlckFkYXB0ZXJTZXJ2aWNlIHNlcnZpY2UKCgwKBQYAAgABEgMQCBcKDAoFBgACAAUSAxAYHgoMCgUGAAIAAhIDEB8wCgwKBQYAAgAGEgMQO0EKDAoFBgACAAMSAxBCVQoLCgQGAAIBEgMTBFQKDAoFBgACAQESAxMIGAoMCgUGAAIBAhIDExkyCgwKBQYAAgEDEgMTPVIKCwoEBgACAhIDFARWCgwKBQYAAgIBEgMUCBkKDAoFBgACAgISAxQaNAoMCgUGAAICAxIDFD9UCgwKBAYAAgMSBBUEgwEKDAoFBgACAwESAxUIHgoMCgUGAAIDAhIDFR9OCg0KBQYAAgMDEgQVWYEBYgZwcm90bzMK5AsKLXZvbHRoYV9wcm90b3Mvb251X2ludGVyX2FkYXB0ZXJfc2VydmljZS5wcm90bxIZb251X2ludGVyX2FkYXB0ZXJfc2VydmljZRoadm9sdGhhX3Byb3Rvcy9jb21tb24ucHJvdG8aG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90bxohdm9sdGhhX3Byb3Rvcy9pbnRlcl9hZGFwdGVyLnByb3RvGhp2b2x0aGFfcHJvdG9zL2hlYWx0aC5wcm90bzLfAwoWT251SW50ZXJBZGFwdGVyU2VydmljZRI/Cg9HZXRIZWFsdGhTdGF0dXMSEi5jb21tb24uQ29ubmVjdGlvbhoULmhlYWx0aC5IZWFsdGhTdGF0dXMoATABEkwKDU9udUluZGljYXRpb24SIy5pbnRlcl9hZGFwdGVyLk9udUluZGljYXRpb25NZXNzYWdlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkQKDk9tY2lJbmRpY2F0aW9uEhouaW50ZXJfYWRhcHRlci5PbWNpTWVzc2FnZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJYChNEb3dubG9hZFRlY2hQcm9maWxlEikuaW50ZXJfYWRhcHRlci5UZWNoUHJvZmlsZURvd25sb2FkTWVzc2FnZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJMCg1EZWxldGVHZW1Qb3J0EiMuaW50ZXJfYWRhcHRlci5EZWxldGVHZW1Qb3J0TWVzc2FnZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJICgtEZWxldGVUQ29udBIhLmludGVyX2FkYXB0ZXIuRGVsZXRlVGNvbnRNZXNzYWdlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5QpABCi1vcmcub3BlbmNvcmQudm9sdGhhLm9udV9pbnRlcl9hZGFwdGVyX3NlcnZpY2VCHFZvbHRoYU9udUludGVyQWRhcHRlclNlcnZpY2VaQWdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby9vbnVfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlSqIFCgYSBAAAFwEKCAoBDBIDAAASCggKAQgSAwIAWAoJCgIICxIDAgBYCggKAQgSAwMARgoJCgIIARIDAwBGCggKAQgSAwQAPQoJCgIICBIDBAA9CggKAQISAwYAIgoJCgIDABIDCAAkCgkKAgMBEgMJACUKCQoCAwISAwoAKwoJCgIDAxIDCwAkCgoKAgYAEgQNABcBCgoKAwYAARIDDQgeCqcBCgQGAAIAEgMQBFcamQEgR2V0SGVhbHRoU3RhdHVzIGlzIHVzZWQgYnkgYSBPbnVJbnRlckFkYXB0ZXJTZXJ2aWNlIGNsaWVudCB0byBkZXRlY3QgYSBjb25uZWN0aW9uCiBsb3N0IHdpdGggdGhlIGdSUEMgc2VydmVyIGhvc3RpbmcgdGhlIE9udUludGVyQWRhcHRlclNlcnZpY2Ugc2VydmljZQoKDAoFBgACAAESAxAIFwoMCgUGAAIABRIDEBgeCgwKBQYAAgACEgMQHzAKDAoFBgACAAYSAxA7QQoMCgUGAAIAAxIDEEJVCgsKBAYAAgESAxIEWgoMCgUGAAIBARIDEggVCgwKBQYAAgECEgMSFjgKDAoFBgACAQMSAxJDWAoLCgQGAAICEgMTBFIKDAoFBgACAgESAxMIFgoMCgUGAAICAhIDExcwCgwKBQYAAgIDEgMTO1AKCwoEBgACAxIDFARmCgwKBQYAAgMBEgMUCBsKDAoFBgACAwISAxQcRAoMCgUGAAIDAxIDFE9kCgsKBAYAAgQSAxUEWgoMCgUGAAIEARIDFQgVCgwKBQYAAgQCEgMVFjgKDAoFBgACBAMSAxVDWAoLCgQGAAIFEgMWBFYKDAoFBgACBQESAxYIEwoMCgUGAAIFAhIDFhQ0CgwKBQYAAgUDEgMWP1RiBnByb3RvMw==