CuEFChFkbWkvY29tbW9ucy5wcm90bxIDZG1pKj8KBlN0YXR1cxIUChBVTkRFRklORURfU1RBVFVTEAASDQoJT0tfU1RBVFVTEAESEAoMRVJST1JfU1RBVFVTEAIqPwoITG9nTGV2ZWwSCQoFVFJBQ0UQABIJCgVERUJVRxABEggKBElORk8QAhIICgRXQVJOEAMSCQoFRVJST1IQBEI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlK/wMKBhIEAAAUAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMClQKAgUAEgQHAAsBMkggQ29tbW9uIHN0cnVjdHVyZXMgdXNlZCBhY3Jvc3MgdGhlIGRpZmZlcmVudCBEZXZpY2UgTWFuYWdlbWVudCBzZXJ2aWNlcwoKCgoDBQABEgMHBQsKCwoEBQACABIDCAQZCgwKBQUAAgABEgMIBBQKDAoFBQACAAISAwgXGAoLCgQFAAIBEgMJBBIKDAoFBQACAQESAwkEDQoMCgUFAAIBAhIDCRARCgsKBAUAAgISAwoEFQoMCgUFAAICARIDCgQQCgwKBQUAAgICEgMKExQKFgoCBQESBA4AFAEaCkxvZyBMZXZlbAoKCgoDBQEBEgMOBQ0KCwoEBQECABIDDwQOCgwKBQUBAgABEgMPBAkKDAoFBQECAAISAw8MDQoLCgQFAQIBEgMQBA4KDAoFBQECAQESAxAECQoMCgUFAQIBAhIDEAwNCgsKBAUBAgISAxEEDgoMCgUFAQICARIDEQQICgwKBQUBAgICEgMRDA0KCwoEBQECAxIDEgQOCgwKBQUBAgMBEgMSBAgKDAoFBQECAwISAxIMDQoLCgQFAQIEEgMTBA4KDAoFBQECBAESAxMECQoMCgUFAQIEAhIDEwwNYgZwcm90bzMK8i8KH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI7CglUaW1lc3RhbXASGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3NCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIOVGltZXN0YW1wUHJvdG9QAVorZ2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHR5cGVzL3RpbWVzdGFtcPgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0r4LQoHEgUeAIgBAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAOwoJCgIIJRIDIgA7CggKAQgSAyMAHwoJCgIIHxIDIwAfCggKAQgSAyQAQgoJCgIICxIDJABCCggKAQgSAyUALAoJCgIIARIDJQAsCggKAQgSAyYALwoJCgIICBIDJgAvCggKAQgSAycAIgoJCgIIChIDJwAiCggKAQgSAygAIQoJCgIIJBIDKAAhCvEbCgIEABIFfACIAQEa4xsgQSBUaW1lc3RhbXAgcmVwcmVzZW50cyBhIHBvaW50IGluIHRpbWUgaW5kZXBlbmRlbnQgb2YgYW55IHRpbWUgem9uZSBvciBsb2NhbAogY2FsZW5kYXIsIGVuY29kZWQgYXMgYSBjb3VudCBvZiBzZWNvbmRzIGFuZCBmcmFjdGlvbnMgb2Ygc2Vjb25kcyBhdAogbmFub3NlY29uZCByZXNvbHV0aW9uLiBUaGUgY291bnQgaXMgcmVsYXRpdmUgdG8gYW4gZXBvY2ggYXQgVVRDIG1pZG5pZ2h0IG9uCiBKYW51YXJ5IDEsIDE5NzAsIGluIHRoZSBwcm9sZXB0aWMgR3JlZ29yaWFuIGNhbGVuZGFyIHdoaWNoIGV4dGVuZHMgdGhlCiBHcmVnb3JpYW4gY2FsZW5kYXIgYmFja3dhcmRzIHRvIHllYXIgb25lLgoKIEFsbCBtaW51dGVzIGFyZSA2MCBzZWNvbmRzIGxvbmcuIExlYXAgc2Vjb25kcyBhcmUgInNtZWFyZWQiIHNvIHRoYXQgbm8gbGVhcAogc2Vjb25kIHRhYmxlIGlzIG5lZWRlZCBmb3IgaW50ZXJwcmV0YXRpb24sIHVzaW5nIGEgWzI0LWhvdXIgbGluZWFyCiBzbWVhcl0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vdGltZS9zbWVhcikuCgogVGhlIHJhbmdlIGlzIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8gOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5OTlaLiBCeQogcmVzdHJpY3RpbmcgdG8gdGhhdCByYW5nZSwgd2UgZW5zdXJlIHRoYXQgd2UgY2FuIGNvbnZlcnQgdG8gYW5kIGZyb20gW1JGQwogMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBkYXRlIHN0cmluZ3MuCgogIyBFeGFtcGxlcwoKIEV4YW1wbGUgMTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgdGltZSgpYC4KCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModGltZShOVUxMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygwKTsKCiBFeGFtcGxlIDI6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYGdldHRpbWVvZmRheSgpYC4KCiAgICAgc3RydWN0IHRpbWV2YWwgdHY7CiAgICAgZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHR2LnR2X3NlYyk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcyh0di50dl91c2VjICogMTAwMCk7CgogRXhhbXBsZSAzOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFdpbjMyIGBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgpYC4KCiAgICAgRklMRVRJTUUgZnQ7CiAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoJmZ0KTsKICAgICBVSU5UNjQgdGlja3MgPSAoKChVSU5UNjQpZnQuZHdIaWdoRGF0ZVRpbWUpIDw8IDMyKSB8IGZ0LmR3TG93RGF0ZVRpbWU7CgogICAgIC8vIEEgV2luZG93cyB0aWNrIGlzIDEwMCBuYW5vc2Vjb25kcy4gV2luZG93cyBlcG9jaCAxNjAxLTAxLTAxVDAwOjAwOjAwWgogICAgIC8vIGlzIDExNjQ0NDczNjAwIHNlY29uZHMgYmVmb3JlIFVuaXggZXBvY2ggMTk3MC0wMS0wMVQwMDowMDowMFouCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHMoKElOVDY0KSAoKHRpY2tzIC8gMTAwMDAwMDApIC0gMTE2NDQ0NzM2MDBMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoKElOVDMyKSAoKHRpY2tzICUgMTAwMDAwMDApICogMTAwKSk7CgogRXhhbXBsZSA0OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIEphdmEgYFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpYC4KCiAgICAgbG9uZyBtaWxsaXMgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcCA9IFRpbWVzdGFtcC5uZXdCdWlsZGVyKCkuc2V0U2Vjb25kcyhtaWxsaXMgLyAxMDAwKQogICAgICAgICAuc2V0TmFub3MoKGludCkgKChtaWxsaXMgJSAxMDAwKSAqIDEwMDAwMDApKS5idWlsZCgpOwoKCiBFeGFtcGxlIDU6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gY3VycmVudCB0aW1lIGluIFB5dGhvbi4KCiAgICAgdGltZXN0YW1wID0gVGltZXN0YW1wKCkKICAgICB0aW1lc3RhbXAuR2V0Q3VycmVudFRpbWUoKQoKICMgSlNPTiBNYXBwaW5nCgogSW4gSlNPTiBmb3JtYXQsIHRoZSBUaW1lc3RhbXAgdHlwZSBpcyBlbmNvZGVkIGFzIGEgc3RyaW5nIGluIHRoZQogW1JGQyAzMzM5XShodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGZvcm1hdC4gVGhhdCBpcywgdGhlCiBmb3JtYXQgaXMgInt5ZWFyfS17bW9udGh9LXtkYXl9VHtob3VyfTp7bWlufTp7c2VjfVsue2ZyYWNfc2VjfV1aIgogd2hlcmUge3llYXJ9IGlzIGFsd2F5cyBleHByZXNzZWQgdXNpbmcgZm91ciBkaWdpdHMgd2hpbGUge21vbnRofSwge2RheX0sCiB7aG91cn0sIHttaW59LCBhbmQge3NlY30gYXJlIHplcm8tcGFkZGVkIHRvIHR3byBkaWdpdHMgZWFjaC4gVGhlIGZyYWN0aW9uYWwKIHNlY29uZHMsIHdoaWNoIGNhbiBnbyB1cCB0byA5IGRpZ2l0cyAoaS5lLiB1cCB0byAxIG5hbm9zZWNvbmQgcmVzb2x1dGlvbiksCiBhcmUgb3B0aW9uYWwuIFRoZSAiWiIgc3VmZml4IGluZGljYXRlcyB0aGUgdGltZXpvbmUgKCJVVEMiKTsgdGhlIHRpbWV6b25lCiBpcyByZXF1aXJlZC4gQSBwcm90bzMgSlNPTiBzZXJpYWxpemVyIHNob3VsZCBhbHdheXMgdXNlIFVUQyAoYXMgaW5kaWNhdGVkIGJ5CiAiWiIpIHdoZW4gcHJpbnRpbmcgdGhlIFRpbWVzdGFtcCB0eXBlIGFuZCBhIHByb3RvMyBKU09OIHBhcnNlciBzaG91bGQgYmUKIGFibGUgdG8gYWNjZXB0IGJvdGggVVRDIGFuZCBvdGhlciB0aW1lem9uZXMgKGFzIGluZGljYXRlZCBieSBhbiBvZmZzZXQpLgoKIEZvciBleGFtcGxlLCAiMjAxNy0wMS0xNVQwMTozMDoxNS4wMVoiIGVuY29kZXMgMTUuMDEgc2Vjb25kcyBwYXN0CiAwMTozMCBVVEMgb24gSmFudWFyeSAxNSwgMjAxNy4KCiBJbiBKYXZhU2NyaXB0LCBvbmUgY2FuIGNvbnZlcnQgYSBEYXRlIG9iamVjdCB0byB0aGlzIGZvcm1hdCB1c2luZyB0aGUKIHN0YW5kYXJkIFt0b0lTT1N0cmluZygpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL3RvSVNPU3RyaW5nKQogbWV0aG9kLiBJbiBQeXRob24sIGEgc3RhbmRhcmQgYGRhdGV0aW1lLmRhdGV0aW1lYCBvYmplY3QgY2FuIGJlIGNvbnZlcnRlZAogdG8gdGhpcyBmb3JtYXQgdXNpbmcgW2BzdHJmdGltZWBdKGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzIvbGlicmFyeS90aW1lLmh0bWwjdGltZS5zdHJmdGltZSkKIHdpdGggdGhlIHRpbWUgZm9ybWF0IHNwZWMgJyVZLSVtLSVkVCVIOiVNOiVTLiVmWicuIExpa2V3aXNlLCBpbiBKYXZhLCBvbmUKIGNhbiB1c2UgdGhlIEpvZGEgVGltZSdzIFtgSVNPRGF0ZVRpbWVGb3JtYXQuZGF0ZVRpbWUoKWBdKAogaHR0cDovL3d3dy5qb2RhLm9yZy9qb2RhLXRpbWUvYXBpZG9jcy9vcmcvam9kYS90aW1lL2Zvcm1hdC9JU09EYXRlVGltZUZvcm1hdC5odG1sI2RhdGVUaW1lJTJEJTJECiApIHRvIG9idGFpbiBhIGZvcm1hdHRlciBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgdGltZXN0YW1wcyBpbiB0aGlzIGZvcm1hdC4KCgoKCgoDBAABEgN8CBEKnQEKBAQAAgASBIEBAhQajgEgUmVwcmVzZW50cyBzZWNvbmRzIG9mIFVUQyB0aW1lIHNpbmNlIFVuaXggZXBvY2gKIDE5NzAtMDEtMDFUMDA6MDA6MDBaLiBNdXN0IGJlIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8KIDk5OTktMTItMzFUMjM6NTk6NTlaIGluY2x1c2l2ZS4KCg4KBQQAAgAEEgWBAQJ8EwoNCgUEAAIABRIEgQECBwoNCgUEAAIAARIEgQEIDwoNCgUEAAIAAxIEgQESEwrlAQoEBAACARIEhwECEhrWASBOb24tbmVnYXRpdmUgZnJhY3Rpb25zIG9mIGEgc2Vjb25kIGF0IG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gTmVnYXRpdmUKIHNlY29uZCB2YWx1ZXMgd2l0aCBmcmFjdGlvbnMgbXVzdCBzdGlsbCBoYXZlIG5vbi1uZWdhdGl2ZSBuYW5vcyB2YWx1ZXMKIHRoYXQgY291bnQgZm9yd2FyZCBpbiB0aW1lLiBNdXN0IGJlIGZyb20gMCB0byA5OTksOTk5LDk5OQogaW5jbHVzaXZlLgoKDwoFBAACAQQSBocBAoEBFAoNCgUEAAIBBRIEhwECBwoNCgUEAAIBARIEhwEIDQoNCgUEAAIBAxIEhwEQEWIGcHJvdG8zCqqtAQoMZG1pL2h3LnByb3RvEgNkbWkaH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8iGgoEVXVpZBISCgR1dWlkGAEgASgJUgR1dWlkIisKCkhhcmR3YXJlSUQSHQoEdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgR1dWlkIhcKA1VyaRIQCgN1cmkYASABKAlSA3VyaSKEAwoOQ29tcG9uZW50U3RhdGUSSAoSc3RhdGVfbGFzdF9jaGFuZ2VkGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIQc3RhdGVMYXN0Q2hhbmdlZBI5CgthZG1pbl9zdGF0ZRgCIAEoDjIYLmRtaS5Db21wb25lbnRBZG1pblN0YXRlUgphZG1pblN0YXRlEjYKCm9wZXJfc3RhdGUYAyABKA4yFy5kbWkuQ29tcG9uZW50T3BlclN0YXRlUglvcGVyU3RhdGUSOQoLdXNhZ2Vfc3RhdGUYBCABKA4yGC5kbWkuQ29tcG9uZW50VXNhZ2VTdGF0ZVIKdXNhZ2VTdGF0ZRI5CgthbGFybV9zdGF0ZRgFIAEoDjIYLmRtaS5Db21wb25lbnRBbGFybVN0YXRlUgphbGFybVN0YXRlEj8KDXN0YW5kYnlfc3RhdGUYBiABKA4yGi5kbWkuQ29tcG9uZW50U3RhbmRieVN0YXRlUgxzdGFuZGJ5U3RhdGUi6wIKE0NvbXBvbmVudFNlbnNvckRhdGESFAoFdmFsdWUYASABKAVSBXZhbHVlEiYKBHR5cGUYAiABKA4yEi5kbWkuRGF0YVZhbHVlVHlwZVIEdHlwZRIlCgVzY2FsZRgDIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUgVzY2FsZRIcCglwcmVjaXNpb24YBCABKAVSCXByZWNpc2lvbhIpCgZzdGF0dXMYBSABKA4yES5kbWkuU2Vuc29yU3RhdHVzUgZzdGF0dXMSIwoNdW5pdHNfZGlzcGxheRgGIAEoCVIMdW5pdHNEaXNwbGF5EjgKCXRpbWVzdGFtcBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCXRpbWVzdGFtcBIqChF2YWx1ZV91cGRhdGVfcmF0ZRgIIAEoDVIPdmFsdWVVcGRhdGVSYXRlEhsKCWRhdGFfdHlwZRgJIAEoCVIIZGF0YVR5cGUiwQYKF1BvcnRDb21wb25lbnRBdHRyaWJ1dGVzElEKDmNvbm5lY3Rvcl90eXBlGAEgASgOMiouZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzLkNvbm5lY3RvclR5cGVSDWNvbm5lY3RvclR5cGUSOAoFc3BlZWQYAiABKA4yIi5kbWkuUG9ydENvbXBvbmVudEF0dHJpYnV0ZXMuU3BlZWRSBXNwZWVkEkEKCHByb3RvY29sGAMgASgOMiUuZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzLlByb3RvY29sUghwcm90b2NvbBIlCg5waHlzaWNhbF9sYWJlbBgEIAEoCVINcGh5c2ljYWxMYWJlbBIjCg1tYXBwaW5nX2xhYmVsGAUgASgJUgxtYXBwaW5nTGFiZWwSNAoNcG9uX2lkX2NvbmZpZxgGIAEoCzIQLmRtaS5Qb25JZENvbmZpZ1ILcG9uSWRDb25maWcSMwoVc3BlZWRfYXV0b25lZ290aWF0aW9uGAcgASgIUhRzcGVlZEF1dG9uZWdvdGlhdGlvbiJwCg1Db25uZWN0b3JUeXBlEhwKGENPTk5FQ1RPUl9UWVBFX1VOREVGSU5FRBAAEggKBFJKNDUQARIMCghGSUJFUl9MQxACEg8KC0ZJQkVSX1NDX1BDEAMSDQoJRklCRVJfTVBPEAQSCQoFUlMyMzIQBSKuAQoFU3BlZWQSEwoPU1BFRURfVU5ERUZJTkVEEAASCwoHRFlOQU1JQxABEg0KCUdJR0FCSVRfMRACEg4KCkdJR0FCSVRfMTAQAxIOCgpHSUdBQklUXzI1EAQSDgoKR0lHQUJJVF80MBAFEg8KC0dJR0FCSVRfMTAwEAYSDwoLR0lHQUJJVF80MDAQBxIQCgxNRUdBQklUXzI1MDAQCBIQCgxNRUdBQklUXzEyNTAQCSJ8CghQcm90b2NvbBIWChJQUk9UT0NPTF9VTkRFRklORUQQABIMCghFVEhFUk5FVBABEggKBEdQT04QAhIJCgVYR1BPThADEgoKBlhHU1BPThAEEgkKBUdGQVNUEAUSCgoGU0VSSUFMEAYSCAoERVBPThAHEggKBEJJVFMQCCJVCh1Qb3J0Q29tcG9uZW50Q2hhbmdlQXR0cmlidXRlcxI0Cg1wb25faWRfY29uZmlnGAEgASgLMhAuZG1pLlBvbklkQ29uZmlnUgtwb25JZENvbmZpZyJbCiRUcmFuc2NlaXZlckNvbXBvbmVudENoYW5nZUF0dHJpYnV0ZXMSMwoKdHJhbnNfdHlwZRgBIAEoDjIULmRtaS5UcmFuc2NlaXZlclR5cGVSCXRyYW5zVHlwZSJjCgtQb25JZENvbmZpZxIVCgZwb25faWQYASABKAxSBXBvbklkEj0KG3Bvbl9pZF90cmFuc21pdF9wZXJpb2RpY2l0eRgCIAEoDVIYcG9uSWRUcmFuc21pdFBlcmlvZGljaXR5IkUKHENvbnRhaW5lckNvbXBvbmVudEF0dHJpYnV0ZXMSJQoOcGh5c2ljYWxfbGFiZWwYASABKAlSDXBoeXNpY2FsTGFiZWwixQEKFlBzdUNvbXBvbmVudEF0dHJpYnV0ZXMSWQoRc3VwcG9ydGVkX3ZvbHRhZ2UYASABKA4yLC5kbWkuUHN1Q29tcG9uZW50QXR0cmlidXRlcy5TdXBwb3J0ZWRWb2x0YWdlUhBzdXBwb3J0ZWRWb2x0YWdlIlAKEFN1cHBvcnRlZFZvbHRhZ2USHwobU1VQUE9SVEVEX1ZPTFRBR0VfVU5ERUZJTkVEEAASBwoDVjQ4EAESCAoEVjIzMBACEggKBFYxMTUQAyKlBQofVHJhbnNjZWl2ZXJDb21wb25lbnRzQXR0cmlidXRlcxJQCgtmb3JtX2ZhY3RvchgBIAEoDjIvLmRtaS5UcmFuc2NlaXZlckNvbXBvbmVudHNBdHRyaWJ1dGVzLkZvcm1GYWN0b3JSCmZvcm1GYWN0b3ISMwoKdHJhbnNfdHlwZRgCIAEoDjIULmRtaS5UcmFuc2NlaXZlclR5cGVSCXRyYW5zVHlwZRIhCgxtYXhfZGlzdGFuY2UYAyABKA1SC21heERpc3RhbmNlEj0KEm1heF9kaXN0YW5jZV9zY2FsZRgEIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUhBtYXhEaXN0YW5jZVNjYWxlEiMKDXJ4X3dhdmVsZW5ndGgYBSADKA1SDHJ4V2F2ZWxlbmd0aBIjCg10eF93YXZlbGVuZ3RoGAYgAygNUgx0eFdhdmVsZW5ndGgSOgoQd2F2ZWxlbmd0aF9zY2FsZRgHIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUg93YXZlbGVuZ3RoU2NhbGUSGQoIdHhfcG93ZXIYCCADKAVSB3R4UG93ZXISNQoOdHhfcG93ZXJfc2NhbGUYCSABKA4yDy5kbWkuVmFsdWVTY2FsZVIMdHhQb3dlclNjYWxlIsABCgpGb3JtRmFjdG9yEhcKE0ZPUk1fRkFDVE9SX1VOS05PV04QABIICgRRU0ZQEAESDQoJUVNGUF9QTFVTEAISCgoGUVNGUDI4EAMSBwoDU0ZQEAQSDAoIU0ZQX1BMVVMQBRIHCgNYRlAQBhIICgRDRlA0EAcSCAoEQ0ZQMhAIEggKBENQQUsQCRIGCgJYMhAKEgkKBU9USEVSEAsSBwoDQ0ZQEAwSDAoIQ0ZQMl9BQ08QDRIMCghDRlAyX0RDTxAOItkHCglDb21wb25lbnQSEgoEbmFtZRgBIAEoCVIEbmFtZRIoCgVjbGFzcxgCIAEoDjISLmRtaS5Db21wb25lbnRUeXBlUgVjbGFzcxIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SFgoGcGFyZW50GAQgASgJUgZwYXJlbnQSJAoOcGFyZW50X3JlbF9wb3MYBSABKAVSDHBhcmVudFJlbFBvcxIqCghjaGlsZHJlbhgGIAMoCzIOLmRtaS5Db21wb25lbnRSCGNoaWxkcmVuEiEKDGhhcmR3YXJlX3JldhgHIAEoCVILaGFyZHdhcmVSZXYSIQoMZmlybXdhcmVfcmV2GAggASgJUgtmaXJtd2FyZVJldhIhCgxzb2Z0d2FyZV9yZXYYCSABKAlSC3NvZnR3YXJlUmV2Eh0KCnNlcmlhbF9udW0YCiABKAlSCXNlcmlhbE51bRIZCghtZmdfbmFtZRgLIAEoCVIHbWZnTmFtZRIdCgptb2RlbF9uYW1lGAwgASgJUgltb2RlbE5hbWUSFAoFYWxpYXMYDSABKAlSBWFsaWFzEhkKCGFzc2V0X2lkGA4gASgJUgdhc3NldElkEhUKBmlzX2ZydRgPIAEoCFIFaXNGcnUSNQoIbWZnX2RhdGUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgdtZmdEYXRlEhoKA3VyaRgRIAEoCzIILmRtaS5VcmlSA3VyaRIdCgR1dWlkGBIgASgLMgkuZG1pLlV1aWRSBHV1aWQSKQoFc3RhdGUYEyABKAsyEy5kbWkuQ29tcG9uZW50U3RhdGVSBXN0YXRlEjkKC3NlbnNvcl9kYXRhGBQgAygLMhguZG1pLkNvbXBvbmVudFNlbnNvckRhdGFSCnNlbnNvckRhdGESOwoJcG9ydF9hdHRyGDIgASgLMhwuZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzSABSCHBvcnRBdHRyEkoKDmNvbnRhaW5lcl9hdHRyGDMgASgLMiEuZG1pLkNvbnRhaW5lckNvbXBvbmVudEF0dHJpYnV0ZXNIAFINY29udGFpbmVyQXR0chI4Cghwc3VfYXR0chg0IAEoCzIbLmRtaS5Qc3VDb21wb25lbnRBdHRyaWJ1dGVzSABSB3BzdUF0dHISUQoQdHJhbnNjZWl2ZXJfYXR0chg1IAEoCzIkLmRtaS5UcmFuc2NlaXZlckNvbXBvbmVudHNBdHRyaWJ1dGVzSABSD3RyYW5zY2VpdmVyQXR0ckIKCghzcGVjaWZpYyKoAQoISGFyZHdhcmUSOwoLbGFzdF9jaGFuZ2UYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgpsYXN0Q2hhbmdlEiIKBHJvb3QYAiABKAsyDi5kbWkuQ29tcG9uZW50UgRyb290EjsKC2xhc3RfYm9vdGVkGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIKbGFzdEJvb3RlZCLAAwoTTW9kaWZpYWJsZUNvbXBvbmVudBISCgRuYW1lGAEgASgJUgRuYW1lEigKBWNsYXNzGAIgASgOMhIuZG1pLkNvbXBvbmVudFR5cGVSBWNsYXNzEiYKBnBhcmVudBgDIAEoCzIOLmRtaS5Db21wb25lbnRSBnBhcmVudBIkCg5wYXJlbnRfcmVsX3BvcxgEIAEoBVIMcGFyZW50UmVsUG9zEhQKBWFsaWFzGAUgASgJUgVhbGlhcxIZCghhc3NldF9pZBgGIAEoCVIHYXNzZXRJZBIaCgN1cmkYByABKAsyCC5kbWkuVXJpUgN1cmkSOQoLYWRtaW5fc3RhdGUYCCABKA4yGC5kbWkuQ29tcG9uZW50QWRtaW5TdGF0ZVIKYWRtaW5TdGF0ZRJBCglwb3J0X2F0dHIYMiABKAsyIi5kbWkuUG9ydENvbXBvbmVudENoYW5nZUF0dHJpYnV0ZXNIAFIIcG9ydEF0dHISRgoIdHJ4X2F0dHIYMyABKAsyKS5kbWkuVHJhbnNjZWl2ZXJDb21wb25lbnRDaGFuZ2VBdHRyaWJ1dGVzSABSB3RyeEF0dHJCCgoIc3BlY2lmaWMqtAMKDUNvbXBvbmVudFR5cGUSHAoYQ09NUE9ORU5UX1RZUEVfVU5ERUZJTkVEEAASGgoWQ09NUE9ORU5UX1RZUEVfVU5LTk9XThABEhoKFkNPTVBPTkVOVF9UWVBFX0NIQVNTSVMQAhIcChhDT01QT05FTlRfVFlQRV9CQUNLUExBTkUQAxIcChhDT01QT05FTlRfVFlQRV9DT05UQUlORVIQBBIfChtDT01QT05FTlRfVFlQRV9QT1dFUl9TVVBQTFkQBRIWChJDT01QT05FTlRfVFlQRV9GQU4QBhIZChVDT01QT05FTlRfVFlQRV9TRU5TT1IQBxIZChVDT01QT05FTlRfVFlQRV9NT0RVTEUQCBIXChNDT01QT05FTlRfVFlQRV9QT1JUEAkSFgoSQ09NUE9ORU5UX1RZUEVfQ1BVEAoSGgoWQ09NUE9ORU5UX1RZUEVfQkFUVEVSWRALEhoKFkNPTVBPTkVOVF9UWVBFX1NUT1JBR0UQDBIZChVDT01QT05FTlRfVFlQRV9NRU1PUlkQDRIeChpDT01QT05FTlRfVFlQRV9UUkFOU0NFSVZFUhAOKrMBChNDb21wb25lbnRBZG1pblN0YXRlEh4KGkNPTVBfQURNSU5fU1RBVEVfVU5ERUZJTkVEEAASHAoYQ09NUF9BRE1JTl9TVEFURV9VTktOT1dOEAESGwoXQ09NUF9BRE1JTl9TVEFURV9MT0NLRUQQAhIiCh5DT01QX0FETUlOX1NUQVRFX1NIVVRUSU5HX0RPV04QAxIdChlDT01QX0FETUlOX1NUQVRFX1VOTE9DS0VEEAQqqAEKEkNvbXBvbmVudE9wZXJTdGF0ZRIdChlDT01QX09QRVJfU1RBVEVfVU5ERUZJTkVEEAASGwoXQ09NUF9PUEVSX1NUQVRFX1VOS05PV04QARIcChhDT01QX09QRVJfU1RBVEVfRElTQUJMRUQQAhIbChdDT01QX09QRVJfU1RBVEVfRU5BQkxFRBADEhsKF0NPTVBfT1BFUl9TVEFURV9URVNUSU5HEAQqpgEKE0NvbXBvbmVudFVzYWdlU3RhdGUSHgoaQ09NUF9VU0FHRV9TVEFURV9VTkRFRklORUQQABIcChhDT01QX1VTQUdFX1NUQVRFX1VOS05PV04QARIZChVDT01QX1VTQUdFX1NUQVRFX0lETEUQAhIbChdDT01QX1VTQUdFX1NUQVRFX0FDVElWRRADEhkKFUNPTVBfVVNBR0VfU1RBVEVfQlVTWRAEKo8CChNDb21wb25lbnRBbGFybVN0YXRlEh4KGkNPTVBfQUxBUk1fU1RBVEVfVU5ERUZJTkVEEAASHAoYQ09NUF9BTEFSTV9TVEFURV9VTktOT1dOEAESIQodQ09NUF9BTEFSTV9TVEFURV9VTkRFUl9SRVBBSVIQAhIdChlDT01QX0FMQVJNX1NUQVRFX0NSSVRJQ0FMEAMSGgoWQ09NUF9BTEFSTV9TVEFURV9NQUpPUhAEEhoKFkNPTVBfQUxBUk1fU1RBVEVfTUlOT1IQBRIcChhDT01QX0FMQVJNX1NUQVRFX1dBUk5JTkcQBhIiCh5DT01QX0FMQVJNX1NUQVRFX0lOREVURVJNSU5BVEUQByq8AQoVQ29tcG9uZW50U3RhbmRieVN0YXRlEiAKHENPTVBfU1RBTkRCWV9TVEFURV9VTkRFRklORUQQABIeChpDT01QX1NUQU5EQllfU1RBVEVfVU5LTk9XThABEhoKFkNPTVBfU1RBTkRCWV9TVEFURV9IT1QQAhIbChdDT01QX1NUQU5EQllfU1RBVEVfQ09MRBADEigKJENPTVBfU1RBTkRCWV9TVEFURV9QUk9WSURJTkdfU0VSVklDRRAEKp0DCg1EYXRhVmFsdWVUeXBlEhgKFFZBTFVFX1RZUEVfVU5ERUZJTkVEEAASFAoQVkFMVUVfVFlQRV9PVEhFUhABEhYKElZBTFVFX1RZUEVfVU5LTk9XThACEhcKE1ZBTFVFX1RZUEVfVk9MVFNfQUMQAxIXChNWQUxVRV9UWVBFX1ZPTFRTX0RDEAQSFgoSVkFMVUVfVFlQRV9BTVBFUkVTEAUSFAoQVkFMVUVfVFlQRV9XQVRUUxAGEhQKEFZBTFVFX1RZUEVfSEVSVFoQBxIWChJWQUxVRV9UWVBFX0NFTFNJVVMQCBIZChVWQUxVRV9UWVBFX1BFUkNFTlRfUkgQCRISCg5WQUxVRV9UWVBFX1JQTRAKEhIKDlZBTFVFX1RZUEVfQ01NEAsSGgoWVkFMVUVfVFlQRV9UUlVUSF9WQUxVRRAMEhYKElZBTFVFX1RZUEVfUEVSQ0VOVBANEhUKEVZBTFVFX1RZUEVfTUVURVJTEA4SFAoQVkFMVUVfVFlQRV9CWVRFUxAPEhIKDlZBTFVFX1RZUEVfREJNEBAqpAMKClZhbHVlU2NhbGUSGQoVVkFMVUVfU0NBTEVfVU5ERUZJTkVEEAASFQoRVkFMVUVfU0NBTEVfWU9DVE8QARIVChFWQUxVRV9TQ0FMRV9aRVBUTxACEhQKEFZBTFVFX1NDQUxFX0FUVE8QAxIVChFWQUxVRV9TQ0FMRV9GRU1UTxAEEhQKEFZBTFVFX1NDQUxFX1BJQ08QBRIUChBWQUxVRV9TQ0FMRV9OQU5PEAYSFQoRVkFMVUVfU0NBTEVfTUlDUk8QBxIVChFWQUxVRV9TQ0FMRV9NSUxMSRAIEhUKEVZBTFVFX1NDQUxFX1VOSVRTEAkSFAoQVkFMVUVfU0NBTEVfS0lMTxAKEhQKEFZBTFVFX1NDQUxFX01FR0EQCxIUChBWQUxVRV9TQ0FMRV9HSUdBEAwSFAoQVkFMVUVfU0NBTEVfVEVSQRANEhQKEFZBTFVFX1NDQUxFX1BFVEEQDhITCg9WQUxVRV9TQ0FMRV9FWEEQDxIVChFWQUxVRV9TQ0FMRV9aRVRUQRAQEhUKEVZBTFVFX1NDQUxFX1lPVFRBEBEqggEKDFNlbnNvclN0YXR1cxIbChdTRU5TT1JfU1RBVFVTX1VOREVGSU5FRBAAEhQKEFNFTlNPUl9TVEFUVVNfT0sQARIdChlTRU5TT1JfU1RBVFVTX1VOQVZBSUxBQkxFEAISIAocU0VOU09SX1NUQVRVU19OT05PUEVSQVRJT05BTBADKqQBCg9UcmFuc2NlaXZlclR5cGUSEgoOVFlQRV9VTkRFRklORUQQABIMCghFVEhFUk5FVBABEggKBEdQT04QAhIJCgVYR1BPThADEgoKBlhHU1BPThAEEggKBENQT04QBRILCgdOR19QT04yEAYSCAoERVBPThAHEhUKEUNPTUJPX0dQT05fWEdTUE9OEAgSFgoRVFlQRV9OT1RfREVURUNURUQQ/wFCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSvR0CgcSBQAA1AIBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAKQppCgIEABIECQALATJdIFRoZSBtb2RlbCB1c2VkIHRvIHJlcHJlc2VudCBhIEhXIGlzIGJhc2VkIG9uIFJGQzgzNDggKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM4MzQ4KQ0KCgoKAwQAARIDCQgMCgsKBAQAAgASAwoEFAoNCgUEAAIABBIECgQJDgoMCgUEAAIABRIDCgQKCgwKBQQAAgABEgMKCw8KDAoFBAACAAMSAwoSEwoKCgIEARIEDQAPAQoKCgMEAQESAw0IEgoLCgQEAQIAEgMOBBIKDQoFBAECAAQSBA4EDRQKDAoFBAEC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BQQOAgcBEgTOAhgjCg0KBQQOAgcDEgTOAiYnCl0KBAQOCAASBtACBNMCBRpNIFRoZSBhdHRyaWJ1dGUgJ3NwZWNpZmljJyBjYW4gYmUgcG9wdWxhdGVkIGZvciBzcGVjaWZpYyBjbGFzcyBvZiBjb21wb25lbnRzDQoKDQoFBA4IAAESBNACChIKDAoEBA4CCBIE0QIINQoNCgUEDgIIBhIE0QIIJQoNCgUEDgIIARIE0QImLwoNCgUEDgIIAxIE0QIyNAoMCgQEDgIJEgTSAgg7Cg0KBQQOAgkGEgTSAggsCg0KBQQOAgkBEgTSAi01Cg0KBQQOAgkDEgTSAjg6YgZwcm90bzMKuBIKG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIgcKBUVtcHR5QnYKE2NvbS5nb29nbGUucHJvdG9idWZCCkVtcHR5UHJvdG9QAVonZ2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHR5cGVzL2VtcHR5+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSv4QCgYSBB4AMxAKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiADsKCQoCCCUSAyIAOwoICgEIEgMjAD4KCQoCCAsSAyMAPgoICgEIEgMkACwKCQoCCAESAyQALAoICgEIEgMlACsKCQoCCAgSAyUAKwoICgEIEgMmACIKCQoCCAoSAyYAIgoICgEIEgMnACEKCQoCCCQSAycAIQoICgEIEgMoAB8KCQoCCB8SAygAHwr7AgoCBAASAzMAEBrvAiBBIGdlbmVyaWMgZW1wdHkgbWVzc2FnZSB0aGF0IHlvdSBjYW4gcmUtdXNlIHRvIGF2b2lkIGRlZmluaW5nIGR1cGxpY2F0ZWQKIGVtcHR5IG1lc3NhZ2VzIGluIHlvdXIgQVBJcy4gQSB0eXBpY2FsIGV4YW1wbGUgaXMgdG8gdXNlIGl0IGFzIHRoZSByZXF1ZXN0CiBvciB0aGUgcmVzcG9uc2UgdHlwZSBvZiBhbiBBUEkgbWV0aG9kLiBGb3IgaW5zdGFuY2U6CgogICAgIHNlcnZpY2UgRm9vIHsKICAgICAgIHJwYyBCYXIoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KSByZXR1cm5zIChnb29nbGUucHJvdG9idWYuRW1wdHkpOwogICAgIH0KCiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYEVtcHR5YCBpcyBlbXB0eSBKU09OIG9iamVjdCBge31gLgoKCgoDBAABEgMzCA1iBnByb3RvMwr9YQogZG1pL2h3X2V2ZW50c19tZ210X3NlcnZpY2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8aDGRtaS9ody5wcm90bxofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvIpsBCglWYWx1ZVR5cGUSGQoHaW50X3ZhbBgBIAEoA0gAUgZpbnRWYWwSGwoIdWludF92YWwYAiABKARIAFIHdWludFZhbBIdCglmbG9hdF92YWwYAyABKAJIAFIIZmxvYXRWYWwSMAoJdHlwZU9mVmFsGAQgASgOMhIuZG1pLkRhdGFWYWx1ZVR5cGVSCXR5cGVPZlZhbEIFCgN2YWwiUgoKV2F0ZXJNYXJrcxIiCgRoaWdoGAEgASgLMg4uZG1pLlZhbHVlVHlwZVIEaGlnaBIgCgNsb3cYAiABKAsyDi5kbWkuVmFsdWVUeXBlUgNsb3ciawoKVGhyZXNob2xkcxInCgV1cHBlchgBIAEoCzIPLmRtaS5XYXRlck1hcmtzSABSBXVwcGVyEicKBWxvd2VyGAIgASgLMg8uZG1pLldhdGVyTWFya3NIAFIFbG93ZXJCCwoJdGhyZXNob2xkIn4KFFRocmVzaG9sZEluZm9ybWF0aW9uEjUKDm9ic2VydmVkX3ZhbHVlGAEgASgLMg4uZG1pLlZhbHVlVHlwZVINb2JzZXJ2ZWRWYWx1ZRIvCgp0aHJlc2hvbGRzGAIgASgLMg8uZG1pLlRocmVzaG9sZHNSCnRocmVzaG9sZHMivAEKCEV2ZW50Q2ZnEigKCGV2ZW50X2lkGAEgASgOMg0uZG1pLkV2ZW50SWRzUgdldmVudElkEiMKDWlzX2NvbmZpZ3VyZWQYAiABKAhSDGlzQ29uZmlndXJlZBIvCgp0aHJlc2hvbGRzGAMgASgLMg8uZG1pLlRocmVzaG9sZHNSCnRocmVzaG9sZHMSMAoOY29tcG9uZW50X3V1aWQYBCABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZCIwCglFdmVudHNDZmcSIwoFaXRlbXMYASADKAsyDS5kbWkuRXZlbnRDZmdSBWl0ZW1zIp4CChJMaXN0RXZlbnRzUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjYKBnJlYXNvbhgCIAEoDjIeLmRtaS5MaXN0RXZlbnRzUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SJgoGZXZlbnRzGAMgASgLMg4uZG1pLkV2ZW50c0NmZ1IGZXZlbnRzEiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCJeCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAyKtAQoaRXZlbnRzQ29uZmlndXJhdGlvblJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIqCgdjaGFuZ2VzGAIgASgLMg4uZG1pLkV2ZW50c0NmZ0gAUgdjaGFuZ2VzEioKEHJlc2V0X3RvX2RlZmF1bHQYAyABKAhIAFIOcmVzZXRUb0RlZmF1bHRCCwoJb3BlcmF0aW9uIpwCChtFdmVudHNDb25maWd1cmF0aW9uUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj8KBnJlYXNvbhgCIAEoDjInLmRtaS5FdmVudHNDb25maWd1cmF0aW9uUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsInIKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhIKDklOVkFMSURfQ09ORklHEAMSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAQilAEKDUV2ZW50TWV0YURhdGESKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lIoICCgVFdmVudBI5Cg5ldmVudF9tZXRhZGF0YRgBIAEoCzISLmRtaS5FdmVudE1ldGFEYXRhUg1ldmVudE1ldGFkYXRhEigKCGV2ZW50X2lkGAIgASgOMg0uZG1pLkV2ZW50SWRzUgdldmVudElkEjcKCXJhaXNlZF90cxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCHJhaXNlZFRzEkAKDnRocmVzaG9sZF9pbmZvGAQgASgLMhkuZG1pLlRocmVzaG9sZEluZm9ybWF0aW9uUg10aHJlc2hvbGRJbmZvEhkKCGFkZF9pbmZvGAUgASgJUgdhZGRJbmZvKuISCghFdmVudElkcxIYChRFVkVOVF9OQU1FX1VOREVGSU5FRBAAEh4KGkVWRU5UX1RSQU5TQ0VJVkVSX1BMVUdfT1VUEGQSHQoZRVZFTlRfVFJBTlNDRUlWRVJfUExVR19JThBlEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQUJPVkVfVEhSRVNIT0xEEGYSLQopRVZFTlRfVFJBTlNDRUlWRVJfVk9MVEFHRV9CRUxPV19USFJFU0hPTEQQZxIxCi1FVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9BQk9WRV9USFJFU0hPTEQQaBIxCi1FVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9CRUxPV19USFJFU0hPTEQQaRItCilFVkVOVF9UUkFOU0NFSVZFUl9DVVJSRU5UX0FCT1ZFX1RIUkVTSE9MRBBqEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQkVMT1dfVEhSRVNIT0xEEGsSLgoqRVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEEGwSLgoqRVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEEG0SLgoqRVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEEG4SLgoqRVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEEG8SHQoZRVZFTlRfVFJBTlNDRUlWRVJfRkFJTFVSRRBwEjcKM0VWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBBxEjcKM0VWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBByEjsKN0VWRU5UX1RSQU5TQ0VJVkVSX1RFTVBFUkFUVVJFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQcxI7CjdFVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHQSNwozRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHUSNwozRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHYSOAo0RVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBB3EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQeBI4CjRFVkVOVF9UUkFOU0NFSVZFUl9UWF9QT1dFUl9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHkSOAo0RVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB6EicKI0VWRU5UX1RSQU5TQ0VJVkVSX0ZBSUxVUkVfUkVDT1ZFUkVEEHsSFwoSRVZFTlRfUFNVX1BMVUdfT1VUEMgBEhYKEUVWRU5UX1BTVV9QTFVHX0lOEMkBEhYKEUVWRU5UX1BTVV9GQUlMVVJFEMoBEiAKG0VWRU5UX1BTVV9GQUlMVVJFX1JFQ09WRVJFRBDLARIWChFFVkVOVF9GQU5fRkFJTFVSRRCsAhIXChJFVkVOVF9GQU5fUExVR19PVVQQrQISFgoRRVZFTlRfRkFOX1BMVUdfSU4QrgISIAobRVZFTlRfRkFOX0ZBSUxVUkVfUkVDT1ZFUkVEEK8CEikKJEVWRU5UX0NQVV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTBCQAxImCiFFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUwQkQMSMwouRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMX1JFQ09WRVJFRBCSAxIwCitFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUxfUkVDT1ZFUkVEEJMDEiQKH0VWRU5UX0NQVV9VU0FHRV9BQk9WRV9USFJFU0hPTEQQlAMSLgopRVZFTlRfQ1BVX1VTQUdFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQlQMSGgoVRVZFTlRfSFdfREVWSUNFX1JFU0VUEPQDEi8KKkVWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTBD1AxIsCidFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUwQ9gMSOQo0RVZFTlRfSFdfREVWSUNFX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMX1JFQ09WRVJFRBD3AxI2CjFFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUxfUkVDT1ZFUkVEEPgDEhsKFkVWRU5UX0hXX0RFVklDRV9SRUJPT1QQ+QMSJwoiRVZFTlRfSFdfVEVNUEVSQVRVUkVfU0VOU09SX0ZBSUxFRBD6AxIsCidFVkVOVF9IV19BTExfVEVNUEVSQVRVUkVfU0VOU09SU19GQUlMRUQQ+wMSKAojRVZFTlRfSFdfRElTS19VU0FHRV9BQk9WRV9USFJFU0hPTEQQ/AMSMgotRVZFTlRfSFdfRElTS19VU0FHRV9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEP0DEioKJUVWRU5UX0hXX01FTU9SWV9VU0FHRV9BQk9WRV9USFJFU0hPTEQQ/gMSNAovRVZFTlRfSFdfTUVNT1JZX1VTQUdFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQ/wMSHgoZRVZFTlRfSFdfTlRQX1NZTkNfRkFJTFVSRRCABBIoCiNFVkVOVF9IV19OVFBfU1lOQ19GQUlMVVJFX1JFQ09WRVJFRBCBBBIdChhFVkVOVF9MSU5FX0NBUkRfUExVR19PVVQQ2AQSHAoXRVZFTlRfTElORV9DQVJEX1BMVUdfSU4Q2QQy7QEKHU5hdGl2ZUV2ZW50c01hbmFnZW1lbnRTZXJ2aWNlEjYKCkxpc3RFdmVudHMSDy5kbWkuSGFyZHdhcmVJRBoXLmRtaS5MaXN0RXZlbnRzUmVzcG9uc2USXgoZVXBkYXRlRXZlbnRzQ29uZmlndXJhdGlvbhIfLmRtaS5FdmVudHNDb25maWd1cmF0aW9uUmVxdWVzdBogLmRtaS5FdmVudHNDb25maWd1cmF0aW9uUmVzcG9uc2USNAoMU3RyZWFtRXZlbnRzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GgouZG1pLkV2ZW50MAFCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSv48CgcSBQAAzAEBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgIDARIDBgAWCgkKAgMCEgMHACkKCQoCAwMSAwgAJQpFCgIFABIEDABYATI5IE1hbmFnZW1lbnQgb2YgRXZlbnRzIGFuZCBwcm90b3MgZm9yIGVuY29kaW5nIG9mIEV2ZW50cw0KCgoKAwUAARIDDAUNCgsKBAUAAgASAw0EHQoMCgUFAAIAARIDDQQYCgwKBQUAAgACEgMNGxwKLAoEBQACARIDEAQlGh8gRXZlbnRzIGZyb20gdGhlIFRyYW5zY2VpdmVycw0KCgwKBQUAAgEBEgMQBB4KDAoFBQACAQISAxAhJAoLCgQFAAICEgMRBCQKDAoFBQACAgESAxEEHQoMCgUFAAICAhIDESAjCpIDCgQFAAIDEgMYBDQahAMgVGhlIHRocmVzaG9sZCBiYXNlZCBldmVudHMgb24gdGhlIHRyYW5zY2VpdmVycyBzaG91bGQgYmUgY29uZmlndXJlZCBvbg0KIHRoZSBwb3J0IGNvbXBvbmVudHMgb2YgdGhhdCB0cmFuc2NlaXZlciBhbmQgbm90IG9uIHRoZSB0cmFuc2NlaXZlcg0KIGNvbXBvbmVudCBpdHNlbGYuIFRoaXMgaXMgYmVjYXVzZSB0aGVyZSBjb3VsZCBiZSBkaWZmZXJlbnQgdGhyZXNob2xkcw0KIG9uIHRoZSBkaWZmZXJlbnQgcG9ydHMgb2YgYSB0cmFuc2NlaXZlciAoZm9yIGV4YW1wbGUgZm9yIGEgdHJhbnNjZWl2ZXIgb2YNCiB0eXBlIENPTUJPX0dQT05fWEdTUE9OIHRoZSBwb3dlciB0aHJlc2hvbGRzIGNvdWxkIGJlIGRpZmZlcmVudCBmb3IgdGhlDQogR1BPTiBhbmQgWEdTUE9OIHBvcnRzKQ0KCgwKBQUAAgMBEgMYBC0KDAoFBQACAwISAxgwMwoLCgQFAAIEEgMZBDQKDAoFBQACBAESAxkELQoMCgUFAAIEAhIDGTAzCgsKBAUAAgUSAxoEOAoMCgUFAAIFARIDGgQxCgwKBQUAAgUCEgMaNDcKCwoEBQACBhIDGwQ4CgwKBQUAAgYBEgMbBDEKDAoFBQACBgISAxs0NwoLCgQFAAIHEgMcBDQKDAoFBQACBwESAxwELQoMCgUFAAIHAhIDHDAzCgsKBAUAAggSAx0ENAoMCgUFAAIIARIDHQQtCgwKBQUAAggCEgMdMDMKCwoEBQACCRIDHgQ1CgwKBQUAAgkBEgMeBC4KDAoFBQACCQISAx4xNAoLCgQFAAIKEgMfBDUKDAoFBQACCgESAx8ELgoMCgUFAAIKAhIDHzE0CgsKBAUAAgsSAyAENQoMCgUFAAILARIDIAQuCgwKBQUAAgsCEgMgMTQKCwoEBQACDBIDIQQ1CgwKBQUAAgwBEgMhBC4KDAoFBQACDAISAyExNAoLCgQFAAINEgMiBCQKDAoFBQACDQESAyIEHQoMCgUFAAINAhIDIiAjCgsKBAUAAg4SAyMEPgoMCgUFAAIOARIDIwQ3CgwKBQUAAg4CEgMjOj0KCwoEBQACDxIDJAQ+CgwKBQUAAg8BEgMkBDcKDAoFBQACDwISAyQ6PQoLCgQFAAIQEgMlBEIKDAoFBQACEAESAyUEOwoMCgUFAAIQAhIDJT5BCgsKBAUAAhESAyYEQgoMCgUFAAIRARIDJgQ7CgwKBQUAAhECEgMmPkEKCwoEBQACEhIDJwQ+CgwKBQUAAhIBEgMnBDcKDAoFBQACEgISAyc6PQoLCgQFAAITEgMoBD4KDAoFBQACEwESAygENwoMCgUFAAITAhIDKDo9CgsKBAUAAhQSAykEPwoMCgUFAAIUARIDKQQ4CgwKBQUAAhQCEgMpOz4KCwoEBQACFRIDKgQ/CgwKBQUAAhUBEgMqBDgKDAoFBQACFQISAyo7PgoLCgQFAAIWEgMrBD8KDAoFBQACFgESAysEOAoMCgUFAAIWAhIDKzs+CgsKBAUAAhcSAywEPwoMCgUFAAIXARIDLAQ4CgwKBQUAAhcCEgMsOz4KCwoEBQACGBIDLQQuCgwKBQUAAhgBEgMtBCcKDAoFBQACGAISAy0qLQojCgQFAAIZEgMwBB0aFiBFdmVudHMgZnJvbSB0aGUgUFNVDQoKDAoFBQACGQESAzAEFgoMCgUFAAIZAhIDMBkcCgsKBAUAAhoSAzEEHAoMCgUFAAIaARIDMQQVCgwKBQUAAhoCEgMxGBsKCwoEBQACGxIDMgQcCgwKBQUAAhsBEgMyBBUKDAoFBQACGwISAzIYGwoLCgQFAAIcEgMzBCYKDAoFBQACHAESAzMEHwoMCgUFAAIcAhIDMyIlCiMKBAUAAh0SAzYEHBoWIEV2ZW50cyBmb3IgdGhlIEZhbnMNCgoMCgUFAAIdARIDNgQVCgwKBQUAAh0CEgM2GBsKCwoEBQACHhIDNwQdCgwKBQUAAh4BEgM3BBYKDAoFBQACHgISAzcZHAoLCgQFAAIfEgM4BBwKDAoFBQACHwESAzgEFQoMCgUFAAIfAhIDOBgbCgsKBAUAAiASAzkEJgoMCgUFAAIgARIDOQQfCgwKBQUAAiACEgM5IiUKIwoEBQACIRIDPAQvGhYgRXZlbnRzIGZvciB0aGUgQ1BVcw0KCgwKBQUAAiEBEgM8BCgKDAoFBQACIQISAzwrLgoLCgQFAAIiEgM9BCwKDAoFBQACIgESAz0EJQoMCgUFAAIiAhIDPSgrCgsKBAUAAiMSAz4EOQoMCgUFAAIjARIDPgQyCgwKBQUAAiMCEgM+NTgKCwoEBQACJBIDPwQ2CgwKBQUAAiQBEgM/BC8KDAoFBQACJAISAz8yNQoLCgQFAAIlEgNABCoKDAoFBQACJQESA0AEIwoMCgUFAAIlAhIDQCYpCgsKBAUAAiYSA0EENAoMCgUFAAImARIDQQQtCgwKBQUAAiYCEgNBMDMKMQoEBQACJxIDRAQgGiQgRXZlbnRzIGZvciB0aGUgY29tcGxldGUgSFcgRGV2aWNlDQoKDAoFBQACJwESA0QEGQoMCgUFAAInAhIDRBwfCgsKBAUAAigSA0UENQoMCgUFAAIoARIDRQQuCgwKBQUAAigCEgNFMTQKCwoEBQACKRIDRgQyCgwKBQUAAikBEgNGBCsKDAoFBQACKQISA0YuMQoLCgQFAAIqEgNHBD8KDAoFBQACKgESA0cEOAoMCgUFAAIqAhIDRzs+CgsKBAUAAisSA0gEPAoMCgUFAAIrARIDSAQ1CgwKBQUAAisCEgNIODsKCwoEBQACLBIDSQQhCgwKBQUAAiwBEgNJBBoKDAoFBQACLAISA0kdIAoLCgQFAAItEgNKBC0KDAoFBQACLQESA0oEJgoMCgUFAAItAhIDSiksCgsKBAUAAi4SA0sEMgoMCgUFAAIuARIDSwQrCgwKBQUAAi4CEgNLLjEKCwoEBQACLxIDTAQuCgwKBQUAAi8BEgNMBCcKDAoFBQACLwISA0wqLQoLCgQFAAIwEgNNBDgKDAoFBQACMAESA00EMQoMCgUFAAIwAhIDTTQ3CgsKBAUAAjESA04EMAoMCgUFAAIxARIDTgQpCgwKBQUAAjECEgNOLC8KCwoEBQACMhIDTwQ6CgwKBQUAAjIBEgNPBDMKDAoFBQACMgISA082OQoLCgQFAAIzEgNQBCQKDAoFBQACMwESA1AEHQoMCgUFAAIzAhIDUCAjCgsKBAUAAjQSA1EELgoMCgUFAAI0ARIDUQQnCgwKBQUAAjQCEgNRKi0KOgoEBQACNRIDVAQjGi0gRXZlbnRzIGZvciB0aGUgbGluZSBjYXJkcyBvbiB0aGUgSFcgRGV2aWNlDQoKDAoFBQACNQESA1QEHAoMCgUFAAI1AhIDVB8iCgsKBAUAAjYSA1UEIgoMCgUFAAI2ARIDVQQbCgwKBQUAAjYCEgNVHiEKCgoCBAASBFoAZQEKCgoDBAABEgNaCBEKrgEKBAQACAASBF4EYgUanwEgRm9yIHZhbCBubyBtdWx0aXBsZXMgb2YgdW5pdHMgc2hhbGwgYmUgdXNlZC4NCiBGb3IgZXhhbXBsZSwgZm9yIG1lbW9yeSB2YWwgc2hvdWxkIGJlIGluIGJ5dGVzIGFuZCBub3QgaW4ga2lsb2J5dGVzIG9yIGFueQ0KIG90aGVyIG11bHRpcGxlIG9mIHRoZSB1bml0IGJ5dGUuDQoKDAoFBAAIAAESA14KDQoLCgQEAAIAEgNfCBoKDAoFBAACAAUSA18IDQoMCgUEAAIAARIDXw4VCgwKBQQAAgADEgNfGBkKCwoEBAACARIDYAgcCgwKBQQAAgEFEgNgCA4KDAoFBAACAQESA2APFwoMCgUEAAIBAxIDYBobCgsKBAQAAgISA2EIHAoMCgUEAAICBRIDYQgNCgwKBQQAAgIBEgNhDhcKDAoFBAACAgMSA2EaGwoLCgQEAAIDEgNkBCAKDQoFBAACAwQSBGQEYgUKDAoFBAACAwYSA2QEEQoMCgUEAAIDARIDZBIbCgwKBQQAAgMDEgNkHh8KCgoCBAESBGcAagEKCgoDBAEBEgNnCBIKCwoEBAECABIDaAQXCg0KBQQBAgAEEgRoBGcUCgwKBQQBAgAGEgNoBA0KDAoFBAECAAESA2gOEgoMCgUEAQIAAxIDaBUWCgsKBAQBAgESA2kEFgoNCgUEAQIBBBIEaQRoFwoMCgUEAQIBBhIDaQQNCgwKBQQBAgEBEgNpDhEKDAoFBAECAQMSA2kUFQoKCgIEAhIEbABxAQoKCgMEAgESA2wIEgoMCgQEAggAEgRtBHAFCgwKBQQCCAABEgNtChMKCwoEBAICABIDbggdCgwKBQQCAgAGEgNuCBIKDAoFBAICAAESA24TGAoMCgUEAgIAAxIDbhscCgsKBAQCAgESA28IHQoMCgUEAgIBBhIDbwgSCgwKBQQCAgEBEgNvExgKDAoFBAICAQMSA28bHAoKCgIEAxIEcwB2AQoKCgMEAwESA3MIHAoLCgQEAwIAEgN0BCEKDQoFBAMCAAQSBHQEcx4KDAoFBAMCAAYSA3QEDQoMCgUEAwIAARIDdA4cCgwKBQQDAgADEgN0HyAKCwoEBAMCARIDdQQeCg0KBQQDAgEEEgR1BHQhCgwKBQQDAgEGEgN1BA4KDAoFBAMCAQESA3UPGQoMCgUEAwIBAxIDdRwdCgsKAgQEEgV4AIMBAQoKCgMEBAESA3gIEAoLCgQEBAIAEgN5BBoKDQoFBAQCAAQSBHkEeBIKDAoFBAQCAAYSA3kEDAoMCgUEBAIAARIDeQ0VCgwKBQQEAgADEgN5GBkKCwoEBAQCARIDegQbCg0KBQQEAgEEEgR6BHkaCgwKBQQEAgEFEgN6BAgKDAoFBAQCAQESA3oJFgoMCgUEBAIBAxIDehkaCvICCgQEBAICEgN/BB4a5AIgT3B0aW9uYWwgdGhyZXNob2xkIHZhbHVlcywgYXBwbGljYWJsZSBvbmx5IGZvciBzb21lIHNwZWNpZmljIGV2ZW50cw0KIElmIGFuIGV2ZW50IG5lZWRzIHRocmVzaG9sZHMgYnV0IHRoZSB1c2VyIGRvZXMgbm90IHBhc3MgdGhlIHRocmVzaG9sZHMgaGVyZSwgdGhlIERldmljZSBNYW5hZ2VyIGltcGxlbWVudGF0aW9ucw0KIGNvdWxkIGNob29zZSB0byB1c2UgZGVmYXVsdHMgYXBwbGljYWJsZSBmb3IgdGhlIHNwZWNpZmljIGNvbXBvbmVudCAocmVjb21tZW5kZWQpIG9yIHJldHVybiBhbiBlcnJvciBmb3Igc3VjaA0KIGFuIEV2ZW50Q29uZmlndXJhdGlvblJlcXVlc3Qgd2l0aCByZWFzb24gYXMgSU5WQUxJRF9DT05GSUcNCgoNCgUEBAICBBIEfwR6GwoMCgUEBAICBhIDfwQOCgwKBQQEAgIBEgN/DxkKDAoFBAQCAgMSA38cHQqmAQoEBAQCAxIEggEEHBqXASBGb3IgZXZlbnRzIHdoaWNoIGNhbiBiZSBjb25maWd1cmVkIG9uIGEgcGFydGljdWxhciBjb21wb25lbnQgdGhpcyBpZCBjYW4gYmUgdXNlZCB0byBpZGVudGlmeSB0aGUgY29tcG9uZW50DQogRm9yIGUuZy4gZm9yIGV2ZW50cyBvZiB0aGUgdHJhbnNjZWl2ZXJzDQoKDgoFBAQCAwQSBYIBBH8eCg0KBQQEAgMGEgSCAQQICg0KBQQEAgMBEgSCAQkXCg0KBQQEAgMDEgSCARobCgwKAgQFEgaFAQCHAQEKCwoDBAUBEgSFAQgRCgwKBAQFAgASBIYBBCAKDQoFBAUCAAQSBIYBBAwKDQoFBAUCAAYSBIYBDRUKDQoFBAUCAAESBIYBFhsKDQoFBAUCAAMSBIYBHh8KDAoCBAYSBokBAJQBAQoLCgMEBgESBIkBCBoKDgoEBAYEABIGigEEjwEFCg0KBQQGBAABEgSKAQkPCg4KBgQGBAACABIEiwEIHQoPCgcEBgQAAgABEgSLAQgYCg8KBwQGBAACAAISBIsBGxwKDgoGBAYEAAIBEgSMAQgbCg8KBwQGBAACAQESBIwBCBYKDwoHBAYEAAIBAhIEjAEZGgoOCgYEBgQAAgISBI0BCBsKDwoHBAYEAAICARIEjQEIFgoPCgcEBgQAAgICEgSNARkaCg4KBgQGBAACAxIEjgEIHwoPCgcEBgQAAgMBEgSOAQgaCg8KBwQGBAACAwISBI4BHR4KDAoEBAYCABIEkAEEFgoPCgUEBgIABBIGkAEEjwEFCg0KBQQGAgAGEgSQAQQKCg0KBQQGAgABEgSQAQsRCg0KBQQGAgADEgSQARQVCgwKBAQGAgESBJEBBBYKDwoFBAYCAQQSBpEBBJABFgoNCgUEBgIBBhIEkQEECgoNCgUEBgIBARIEkQELEQoNCgUEBgIBAxIEkQEUFQoMCgQEBgICEgSSAQQZCg8KBQQGAgIEEgaSAQSRARYKDQoFBAYCAgYSBJIBBA0KDQoFBAYCAgESBJIBDhQKDQoFBAYCAgMSBJIBFxgKDAoEBAYCAxIEkwEEHQoPCgUEBgIDBBIGkwEEkgEZCg0KBQQGAgMFEgSTAQQKCg0KBQQGAgMBEgSTAQsYCg0KBQQGAgMDEgSTARscCgwKAgQHEgaWAQCcAQEKCwoDBAcBEgSWAQgiCgwKBAQHAgASBJcBBBkKDwoFBAcCAAQSBpcBBJYBJAoNCgUEBwIABhIElwEECAoNCgUEBwIAARIElwEJFAoNCgUEBwIAAxIElwEXGAoOCgQEBwgAEgaYAQSbAQUKDQoFBAcIAAESBJgBChMKDAoEBAcCARIEmQEIHgoNCgUEBwIBBhIEmQEIEQoNCgUEBwIBARIEmQESGQoNCgUEBwIBAxIEmQEcHQoMCgQEBwICEgSaAQgiCg0KBQQHAgIFEgSaAQgMCg0KBQQHAgIBEgSaAQ0dCg0KBQQHAgIDEgSaASAhCgwKAgQIEgaeAQCpAQEKCwoDBAgBEgSeAQgjCg4KBAQIBAASBp8BBKUBBQoNCgUECAQAARIEnwEJDwoOCgYECAQAAgASBKABCB0KDwoHBAgEAAIAARIEoAEIGAoPCgcECAQAAgACEgSgARscCg4KBgQIBAACARIEoQEIGwoPCgcECAQAAgEBEgShAQgWCg8KBwQIBAACAQISBKEBGRoKDgoGBAgEAAICEgSiAQgbCg8KBwQIBAACAgESBKIBCBYKDwoHBAgEAAICAhIEogEZGgoOCgYECAQAAgMSBKMBCBsKDwoHBAgEAAIDARIEowEIFgoPCgcECAQAAgMCEgSjARkaCg4KBgQIBAACBBIEpAEIHwoPCgcECAQAAgQBEgSkAQgaCg8KBwQIBAACBAISBKQBHR4KDAoEBAgCABIEpgEEFgoPCgUECAIABBIGpgEEpQEFCg0KBQQIAgAGEgSmAQQKCg0KBQQIAgABEgSmAQsRCg0KBQQIAgADEgSmARQVCgwKBAQIAgESBKcBBBYKDwoFBAgCAQQSBqcBBKYBFgoNCgUECAIBBhIEpwEECgoNCgUECAIBARIEpwELEQoNCgUECAIBAxIEpwEUFQoMCgQECAICEgSoAQQdCg8KBQQIAgIEEgaoAQSnARYKDQoFBAgCAgUSBKgBBAoKDQoFBAgCAgESBKgBCxgKDQoFBAgCAgMSBKgBGxwKDAoCBAkSBqsBALABAQoLCgMECQESBKsBCBUKDAoEBAkCABIErAEEGQoPCgUECQIABBIGrAEEqwEXCg0KBQQJAgAGEgSsAQQICg0KBQQJAgABEgSsAQkUCg0KBQQJAgADEgSsARcYCiYKBAQJAgESBK4BBBwaGCB1dWlkIG9mIHRoZSBjb21wb25lbnQNCgoPCgUECQIBBBIGrgEErAEZCg0KBQQJAgEGEgSuAQQICg0KBQQJAgEBEgSuAQkXCg0KBQQJAgEDEgSuARobCgwKBAQJAgISBK8BBB4KDwoFBAkCAgQSBq8BBK4BHAoNCgUECQICBRIErwEECgoNCgUECQICARIErwELGQoNCgUECQICAxIErwEcHQqDAgoCBAoSBrYBAL4BATL0ASBUaGUgRXZlbnRzIGFyZSBjb252ZXllZCB0byBleHRlcm5hbCBzeXN0ZW1zIGVpdGhlciBieSBzdWJtaXR0aW5nIHRoZW0gb24gYSBtZXNzYWdlIGJ1cyBvciB1c2luZyBnUlBDIHNlcnZlciBzdHJlYW1pbmcuDQogVGhlIG1lc3NhZ2UgYnVzIHRvcGljIHRvIHdoaWNoIGFyZSBFdmVudHMgYXJlIHN1Ym1pdHRlZCB3b3VsZCBiZSBjb25maWd1cmVkIGFzIHN0YXJ0dXANCiBjb25maWd1cmF0aW9uIG9mIHRoZSBjb21wb25lbnRzDQoKCwoDBAoBEgS2AQgNCgwKBAQKAgASBLcBBCUKDwoFBAoCAAQSBrcBBLYBDwoNCgUECgIABhIEtwEEEQoNCgUECgIAARIEtwESIAoNCgUECgIAAxIEtwEjJAoMCgQECgIBEgS4AQQaCg8KBQQKAgEEEga4AQS3ASUKDQoFBAoCAQYSBLgBBAwKDQoFBAoCAQESBLgBDRUKDQoFBAoCAQMSBLgBGBkKDAoEBAoCAhIEuQEELAoPCgUECgICBBIGuQEEuAEaCg0KBQQKAgIGEgS5AQQdCg0KBQQKAgIBEgS5AR4nCg0KBQQKAgIDEgS5ASorCjwKBAQKAgMSBLsBBCwaLiBPcHRpb25hbCB0aHJlc2hvbGQgaW5mb3JtYXRpb24gZm9yIGFuIGV2ZW50DQoKDwoFBAoCAwQSBrsBBLkBLAoNCgUECgIDBhIEuwEEGAoNCgUECgIDARIEuwEZJwoNCgUECgIDAxIEuwEqKwo4CgQECgIEEgS9AQQYGiogQW55IGFkZGl0aW9uYWwgaW5mbyByZWdhcmRpbmcgdGhlIGV2ZW50DQoKDwoFBAoCBAQSBr0BBLsBLAoNCgUECgIEBRIEvQEECgoNCgUECgIEARIEvQELEwoNCgUECgIEAxIEvQEWFwoMCgIGABIGwAEAzAEBCgsKAwYAARIEwAEIJQpACgQGAAIAEgTDAQQ7GjIgTGlzdCB0aGUgc3VwcG9ydGVkIGV2ZW50cyBmb3IgdGhlIHBhc3NlZCBkZXZpY2UNCgoNCgUGAAIAARIEwwEIEgoNCgUGAAIAAhIEwwETHQoNCgUGAAIAAxIEwwEnOQrwAQoEBgACARIEyAEEYxrhASBVcGRhdGVzIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBsaXN0IG9mIGV2ZW50cyBpbiB0aGUgcmVxdWVzdA0KIFRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBkZXZpY2UgaXMgdG8gcmVwb3J0IGFsbCB0aGUgc3VwcG9ydGVkIGV2ZW50cw0KIFRoaXMgY29uZmlndXJhdGlvbiBpcyBwZXJzaXN0ZWQgYWNyb3NzIHJlYm9vdHMgb2YgdGhlIGRldmljZSBvciB0aGUgZGV2aWNlIG1hbmFnZXINCgoNCgUGAAIBARIEyAEIIQoNCgUGAAIBAhIEyAEiPAoNCgUGAAIBAxIEyAFGYQo8CgQGAAICEgTLAQRCGi4gSW5pdGlhdGUgdGhlIHNlcnZlciBzdHJlYW1pbmcgb2YgdGhlIGV2ZW50cw0KCg0KBQYAAgIBEgTLAQgUCg0KBQYAAgICEgTLARUqCg0KBQYAAgIGEgTLATQ6Cg0KBQYAAgIDEgTLATtAYgZwcm90bzMK+ZgBCh9kbWkvaHdfbWFuYWdlbWVudF9zZXJ2aWNlLnByb3RvEgNkbWkaEWRtaS9jb21tb25zLnByb3RvGgxkbWkvaHcucHJvdG8aG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90byJGChhQaHlzaWNhbEludmVudG9yeVJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCKxAgoZUGh5c2ljYWxJbnZlbnRvcnlSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPQoGcmVhc29uGAIgASgOMiUuZG1pLlBoeXNpY2FsSW52ZW50b3J5UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SKwoJaW52ZW50b3J5GAMgASgLMg0uZG1pLkhhcmR3YXJlUglpbnZlbnRvcnkSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIl4KBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKEkRFVklDRV9VTlJFQUNIQUJMRRADIqABChlIV0NvbXBvbmVudEluZm9HZXRSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZSLLAgoaSFdDb21wb25lbnRJbmZvR2V0UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj4KBnJlYXNvbhgCIAEoDjImLmRtaS5IV0NvbXBvbmVudEluZm9HZXRSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIsCgljb21wb25lbnQYAyABKAsyDi5kbWkuQ29tcG9uZW50Ugljb21wb25lbnQSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsInUKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARIVChFVTktOT1dOX0NPTVBPTkVOVBACEhIKDklOVEVSTkFMX0VSUk9SEAMSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAQi1AEKGUhXQ29tcG9uZW50SW5mb1NldFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lEjIKB2NoYW5nZXMYBCABKAsyGC5kbWkuTW9kaWZpYWJsZUNvbXBvbmVudFIHY2hhbmdlcyLHAgoaSFdDb21wb25lbnRJbmZvU2V0UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj4KBnJlYXNvbhgCIAEoDjImLmRtaS5IV0NvbXBvbmVudEluZm9TZXRSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwingEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARIVChFVTktOT1dOX0NPTVBPTkVOVBACEhIKDklOVkFMSURfUEFSQU1TEAMSEgoOSU5URVJOQUxfRVJST1IQBBIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBRITCg9TRVRfVU5TVVBQT1JURUQQBiKRAwobU3RhcnRNYW5hZ2luZ0RldmljZVJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI/CgZyZWFzb24YAiABKA4yJy5kbWkuU3RhcnRNYW5hZ2luZ0RldmljZVJlc3BvbnNlLlJlYXNvblIGcmVhc29uEioKC2RldmljZV91dWlkGAMgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIroBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhoKFkRFVklDRV9BTFJFQURZX01BTkFHRUQQARIhCh1PUEVSQVRJT05fQUxSRUFEWV9JTl9QUk9HUkVTUxACEhIKDklOVkFMSURfUEFSQU1TEAMSEgoOSU5URVJOQUxfRVJST1IQBBIaChZBVVRIRU5USUNBVElPTl9GQUlMVVJFEAUSFwoTSU5DT01QQVRJQkxFX0RFVklDRRAGIi8KGVN0b3BNYW5hZ2luZ0RldmljZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZSLyAQoaU3RvcE1hbmFnaW5nRGV2aWNlUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj4KBnJlYXNvbhgCIAEoDjImLmRtaS5TdG9wTWFuYWdpbmdEZXZpY2VSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwiSgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhYKEkRFVklDRV9VTlJFQUNIQUJMRRACIm0KEU1hbmFnZWREZXZpY2VJbmZvEiwKBGluZm8YASABKAsyGC5kbWkuTW9kaWZpYWJsZUNvbXBvbmVudFIEaW5mbxIqCgtkZXZpY2VfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkIt8BChZNYW5hZ2VkRGV2aWNlc1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI6CgZyZWFzb24YAiABKA4yIi5kbWkuTWFuYWdlZERldmljZXNSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIwCgdkZXZpY2VzGAMgAygLMhYuZG1pLk1hbmFnZWREZXZpY2VJbmZvUgdkZXZpY2VzIjIKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOSU5URVJOQUxfRVJST1IQASKdAQoZU2V0TG9nZ2luZ0VuZHBvaW50UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEikKEGxvZ2dpbmdfZW5kcG9pbnQYAiABKAlSD2xvZ2dpbmdFbmRwb2ludBIpChBsb2dnaW5nX3Byb3RvY29sGAMgASgJUg9sb2dnaW5nUHJvdG9jb2wi4QIKGVNldFJlbW90ZUVuZHBvaW50UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj0KBnJlYXNvbhgCIAEoDjIlLmRtaS5TZXRSZW1vdGVFbmRwb2ludFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCK6AQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISGgoWTE9HR0lOR19FTkRQT0lOVF9FUlJPUhADEiMKH0xPR0dJTkdfRU5EUE9JTlRfUFJPVE9DT0xfRVJST1IQBBIZChVNU0dCVVNfRU5EUE9JTlRfRVJST1IQBRIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBiLcAgoaR2V0TG9nZ2luZ0VuZHBvaW50UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj4KBnJlYXNvbhgCIAEoDjImLmRtaS5HZXRMb2dnaW5nRW5kcG9pbnRSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIpChBsb2dnaW5nX2VuZHBvaW50GAMgASgJUg9sb2dnaW5nRW5kcG9pbnQSKQoQbG9nZ2luZ19wcm90b2NvbBgEIAEoCVIPbG9nZ2luZ1Byb3RvY29sEiMKDXJlYXNvbl9kZXRhaWwYBSABKAlSDHJlYXNvbkRldGFpbCJeCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAyJDChhTZXRNc2dCdXNFbmRwb2ludFJlcXVlc3QSJwoPbXNnYnVzX2VuZHBvaW50GAEgASgJUg5tc2didXNFbmRwb2ludCKZAgoZR2V0TXNnQnVzRW5kcG9pbnRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPQoGcmVhc29uGAIgASgOMiUuZG1pLkdldE1zZ0J1c0VuZHBvaW50UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SJwoPbXNnYnVzX2VuZHBvaW50GAMgASgJUg5tc2didXNFbmRwb2ludBIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwiSgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5JTlRFUk5BTF9FUlJPUhABEhYKEkRFVklDRV9VTlJFQUNIQUJMRRACIlkKEEVudGl0aWVzTG9nTGV2ZWwSKQoIbG9nTGV2ZWwYASABKA4yDS5kbWkuTG9nTGV2ZWxSCGxvZ0xldmVsEhoKCGVudGl0aWVzGAIgAygJUghlbnRpdGllcyJ1ChJTZXRMb2dMZXZlbFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIzCglsb2dsZXZlbHMYAiADKAsyFS5kbWkuRW50aXRpZXNMb2dMZXZlbFIJbG9nbGV2ZWxzIrwCChNTZXRMb2dMZXZlbFJlc3BvbnNlEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSIwoGc3RhdHVzGAIgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjcKBnJlYXNvbhgDIAEoDjIfLmRtaS5TZXRMb2dMZXZlbFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCJ2CgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJVTktOT1dOX0xPR19FTlRJVFkQAxIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBCJcChJHZXRMb2dMZXZlbFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIaCghlbnRpdGllcxgCIAMoCVIIZW50aXRpZXMi8QIKE0dldExvZ0xldmVsUmVzcG9uc2USKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIzCglsb2dMZXZlbHMYAiADKAsyFS5kbWkuRW50aXRpZXNMb2dMZXZlbFIJbG9nTGV2ZWxzEiMKBnN0YXR1cxgDIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI3CgZyZWFzb24YBCABKA4yHy5kbWkuR2V0TG9nTGV2ZWxSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAUgASgJUgxyZWFzb25EZXRhaWwidgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSVU5LTk9XTl9MT0dfRU5USVRZEAMSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAQiSAoaR2V0TG9nZ2FibGVFbnRpdGllc1JlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCI8CglIZWFydGJlYXQSLwoTaGVhcnRiZWF0X3NpZ25hdHVyZRgBIAEoB1ISaGVhcnRiZWF0U2lnbmF0dXJlIkEKE1JlYm9vdERldmljZVJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCKVAgoUUmVib290RGV2aWNlUmVzcG9uc2USIwoGc3RhdHVzGAMgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjgKBnJlYXNvbhgEIAEoDjIgLmRtaS5SZWJvb3REZXZpY2VSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAUgASgJUgxyZWFzb25EZXRhaWwieQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMSGQoVREVWSUNFX0lOX1dST05HX1NUQVRFEAQyrgkKGU5hdGl2ZUhXTWFuYWdlbWVudFNlcnZpY2USUwoTU3RhcnRNYW5hZ2luZ0RldmljZRIYLmRtaS5Nb2RpZmlhYmxlQ29tcG9uZW50GiAuZG1pLlN0YXJ0TWFuYWdpbmdEZXZpY2VSZXNwb25zZTABElUKElN0b3BNYW5hZ2luZ0RldmljZRIeLmRtaS5TdG9wTWFuYWdpbmdEZXZpY2VSZXF1ZXN0Gh8uZG1pLlN0b3BNYW5hZ2luZ0RldmljZVJlc3BvbnNlEkgKEUdldE1hbmFnZWREZXZpY2VzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhsuZG1pLk1hbmFnZWREZXZpY2VzUmVzcG9uc2USVwoUR2V0UGh5c2ljYWxJbnZlbnRvcnkSHS5kbWkuUGh5c2ljYWxJbnZlbnRvcnlSZXF1ZXN0Gh4uZG1pLlBoeXNpY2FsSW52ZW50b3J5UmVzcG9uc2UwARJXChJHZXRIV0NvbXBvbmVudEluZm8SHi5kbWkuSFdDb21wb25lbnRJbmZvR2V0UmVxdWVzdBofLmRtaS5IV0NvbXBvbmVudEluZm9HZXRSZXNwb25zZTABElUKElNldEhXQ29tcG9uZW50SW5mbxIeLmRtaS5IV0NvbXBvbmVudEluZm9TZXRSZXF1ZXN0Gh8uZG1pLkhXQ29tcG9uZW50SW5mb1NldFJlc3BvbnNlElQKElNldExvZ2dpbmdFbmRwb2ludBIeLmRtaS5TZXRMb2dnaW5nRW5kcG9pbnRSZXF1ZXN0Gh4uZG1pLlNldFJlbW90ZUVuZHBvaW50UmVzcG9uc2USRgoSR2V0TG9nZ2luZ0VuZHBvaW50Eg8uZG1pLkhhcmR3YXJlSUQaHy5kbWkuR2V0TG9nZ2luZ0VuZHBvaW50UmVzcG9uc2USUgoRU2V0TXNnQnVzRW5kcG9pbnQSHS5kbWkuU2V0TXNnQnVzRW5kcG9pbnRSZXF1ZXN0Gh4uZG1pLlNldFJlbW90ZUVuZHBvaW50UmVzcG9uc2USSwoRR2V0TXNnQnVzRW5kcG9pbnQSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHi5kbWkuR2V0TXNnQnVzRW5kcG9pbnRSZXNwb25zZRJQChNHZXRMb2dnYWJsZUVudGl0aWVzEh8uZG1pLkdldExvZ2dhYmxlRW50aXRpZXNSZXF1ZXN0GhguZG1pLkdldExvZ0xldmVsUmVzcG9uc2USQAoLU2V0TG9nTGV2ZWwSFy5kbWkuU2V0TG9nTGV2ZWxSZXF1ZXN0GhguZG1pLlNldExvZ0xldmVsUmVzcG9uc2USQAoLR2V0TG9nTGV2ZWwSFy5kbWkuR2V0TG9nTGV2ZWxSZXF1ZXN0GhguZG1pLkdldExvZ0xldmVsUmVzcG9uc2USOAoOSGVhcnRiZWF0Q2hlY2sSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaDi5kbWkuSGVhcnRiZWF0EkMKDFJlYm9vdERldmljZRIYLmRtaS5SZWJvb3REZXZpY2VSZXF1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bWkuU3RhdHVzUgZzdGF0dXMSNwoGcmVhc29uGAIgASgOMh8uZG1pLkxpc3RNZXRyaWNzUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SLAoHbWV0cmljcxgDIAEoCzISLmRtaS5NZXRyaWNzQ29uZmlnUgdtZXRyaWNzEiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCJeCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAyKyAQobTWV0cmljc0NvbmZpZ3VyYXRpb25SZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSLgoHY2hhbmdlcxgCIAEoCzISLmRtaS5NZXRyaWNzQ29uZmlnSABSB2NoYW5nZXMSKgoQcmVzZXRfdG9fZGVmYXVsdBgDIAEoCEgAUg5yZXNldFRvRGVmYXVsdEILCglvcGVyYXRpb24ivgIKHE1ldHJpY3NDb25maWd1cmF0aW9uUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEkAKBnJlYXNvbhgCIAEoDjIoLmRtaS5NZXRyaWNzQ29uZmlndXJhdGlvblJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCKRAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISHQoZUE9MTF9JTlRFUlZBTF9VTlNVUFBPUlRFRBADEhIKDklOVkFMSURfTUVUUklDEAQSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAUilQEKDk1ldHJpY01ldGFEYXRhEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZSKlAQoGTWV0cmljEi0KCW1ldHJpY19pZBgBIAEoDjIQLmRtaS5NZXRyaWNOYW1lc1IIbWV0cmljSWQSPAoPbWV0cmljX21ldGFkYXRhGAIgASgLMhMuZG1pLk1ldHJpY01ldGFEYXRhUg5tZXRyaWNNZXRhZGF0YRIuCgV2YWx1ZRgDIAEoCzIYLmRtaS5Db21wb25lbnRTZW5zb3JEYXRhUgV2YWx1ZSJzChBHZXRNZXRyaWNSZXF1ZXN0EjAKCW1ldGFfZGF0YRgBIAEoCzITLmRtaS5NZXRyaWNNZXRhRGF0YVIIbWV0YURhdGESLQoJbWV0cmljX2lkGAIgASgOMhAuZG1pLk1ldHJpY05hbWVzUghtZXRyaWNJZCLFAgoRR2V0TWV0cmljUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjUKBnJlYXNvbhgCIAEoDjIdLmRtaS5HZXRNZXRyaWNSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCgZtZXRyaWMYAyABKAsyCy5kbWkuTWV0cmljUgZtZXRyaWMSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIokBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESFQoRVU5LTk9XTl9DT01QT05FTlQQAhISCg5JTlRFUk5BTF9FUlJPUhADEhIKDklOVkFMSURfTUVUUklDEAQSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAUq2QUKC01ldHJpY05hbWVzEhkKFU1FVFJJQ19OQU1FX1VOREVGSU5FRBAAEhQKEE1FVFJJQ19GQU5fU1BFRUQQARITCg9NRVRSSUNfQ1BVX1RFTVAQZBIfChtNRVRSSUNfQ1BVX1VTQUdFX1BFUkNFTlRBR0UQZRIcChdNRVRSSUNfVFJBTlNDRUlWRVJfVEVNUBDIARIfChpNRVRSSUNfVFJBTlNDRUlWRVJfVk9MVEFHRRDJARIcChdNRVRSSUNfVFJBTlNDRUlWRVJfQklBUxDKARIgChtNRVRSSUNfVFJBTlNDRUlWRVJfUlhfUE9XRVIQywESIAobTUVUUklDX1RSQU5TQ0VJVkVSX1RYX1BPV0VSEMwBEiIKHU1FVFJJQ19UUkFOU0NFSVZFUl9XQVZFTEVOR1RIEM0BEhUKEE1FVFJJQ19ESVNLX1RFTVAQrAISGQoUTUVUUklDX0RJU0tfQ0FQQUNJVFkQrQISFgoRTUVUUklDX0RJU0tfVVNBR0UQrgISIQocTUVUUklDX0RJU0tfVVNBR0VfUEVSQ0VOVEFHRRCvAhImCiFNRVRSSUNfRElTS19SRUFEX1dSSVRFX1BFUkNFTlRBR0UQsAISKAojTUVUUklDX0RJU0tfRkFVTFRZX0NFTExTX1BFUkNFTlRBR0UQsQISFAoPTUVUUklDX1JBTV9URU1QEJADEhgKE01FVFJJQ19SQU1fQ0FQQUNJVFkQkQMSFQoQTUVUUklDX1JBTV9VU0FHRRCSAxIgChtNRVRSSUNfUkFNX1VTQUdFX1BFUkNFTlRBR0UQkwMSFQoQTUVUUklDX1BPV0VSX01BWBD0AxIXChJNRVRSSUNfUE9XRVJfVVNBR0UQ9QMSIgodTUVUUklDX1BPV0VSX1VTQUdFX1BFUkNFTlRBR0UQ9gMSIgodTUVUUklDX0lOTkVSX1NVUlJPVU5ESU5HX1RFTVAQ2AQysQIKHk5hdGl2ZU1ldHJpY3NNYW5hZ2VtZW50U2VydmljZRI4CgtMaXN0TWV0cmljcxIPLmRtaS5IYXJkd2FyZUlEGhguZG1pLkxpc3RNZXRyaWNzUmVzcG9uc2USYQoaVXBkYXRlTWV0cmljc0NvbmZpZ3VyYXRpb24SIC5kbWkuTWV0cmljc0NvbmZpZ3VyYXRpb25SZXF1ZXN0GiEuZG1pLk1ldHJpY3NDb25maWd1cmF0aW9uUmVzcG9uc2USOgoJR2V0TWV0cmljEhUuZG1pLkdldE1ldHJpY1JlcXVlc3QaFi5kbWkuR2V0TWV0cmljUmVzcG9uc2USNgoNU3RyZWFtTWV0cmljcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoLLmRtaS5NZXRyaWMwAUI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlK4S0KBxIFAACfAQEKCAoBDBIDAAASCggKAQgSAwIAUAoJCgIICxIDAgBQCggKAQISAwMADAoJCgIDABIDBQAbCgkKAgMBEgMGABYKCQoC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aW5nIGl0cyBjb25maWd1cmF0aW9uLg0KDQogVGhpcyBjb25maWd1cmF0aW9uIGlzIHBlcnNpc3RlZCBhY3Jvc3MgcmVzdGFydCBvZiB0aGUgZGV2aWNlIG9yIHRoZSBkZXZpY2UgbWFuYWdlcg0KCg0KBQYAAgEBEgSYAQgiCg0KBQYAAgECEgSYASM+Cg0KBQYAAgEDEgSYAUhkCjcKBAYAAgISBJsBBD8aKSBHZXQgdGhlIGluc3RhbnRlbm91cyB2YWx1ZSBvZiBhIG1ldHJpYw0KCg0KBQYAAgIBEgSbAQgRCg0KBQYAAgICEgSbARIiCg0KBQYAAgIDEgSbASw9Cj0KBAYAAgMSBJ4BBEQaLyBJbml0aWF0ZSB0aGUgc2VydmVyIHN0cmVhbWluZyBvZiB0aGUgbWV0cmljcw0KCg0KBQYAAgMBEgSeAQgVCg0KBQYAAgMCEgSeARYrCg0KBQYAAgMGEgSeATU7Cg0KBQYAAgMDEgSeATxCYgZwcm90bzMK+R8KEmRtaS9zd19pbWFnZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90byJHCgxJbWFnZVZlcnNpb24SHQoKaW1hZ2VfbmFtZRgBIAEoCVIJaW1hZ2VOYW1lEhgKB3ZlcnNpb24YAiABKAlSB3ZlcnNpb24iqAEKEEltYWdlSW5mb3JtYXRpb24SJwoFaW1hZ2UYASABKAsyES5kbWkuSW1hZ2VWZXJzaW9uUgVpbWFnZRIwChRpbWFnZV9pbnN0YWxsX3NjcmlwdBgCIAEoCVISaW1hZ2VJbnN0YWxsU2NyaXB0EhsKCWltYWdlX3VybBgDIAEoCVIIaW1hZ2VVcmwSHAoJc2hhMjU2c3VtGAUgASgJUglzaGEyNTZzdW0ilAUKC0ltYWdlU3RhdHVzEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIvCgZyZWFzb24YAiABKA4yFy5kbWkuSW1hZ2VTdGF0dXMuUmVhc29uUgZyZWFzb24SMQoFc3RhdGUYAyABKA4yGy5kbWkuSW1hZ2VTdGF0dXMuSW1hZ2VTdGF0ZVIFc3RhdGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEiMKDXJlYXNvbl9kZXRhaWwYBSABKAlSDHJlYXNvbkRl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ZW50X3NlcnZpY2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8aDGRtaS9ody5wcm90bxoSZG1pL3N3X2ltYWdlLnByb3RvIpYBChpTb2Z0d2FyZVZlcnNpb25JbmZvcm1hdGlvbhI6Cg9hY3RpdmVfdmVyc2lvbnMYASADKAsyES5kbWkuSW1hZ2VWZXJzaW9uUg5hY3RpdmVWZXJzaW9ucxI8ChBzdGFuZGJ5X3ZlcnNpb25zGAIgAygLMhEuZG1pLkltYWdlVmVyc2lvblIPc3RhbmRieVZlcnNpb25zItECCiVHZXRTb2Z0d2FyZVZlcnNpb25JbmZvcm1hdGlvblJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxJJCgZyZWFzb24YAiABKA4yMS5kbWkuR2V0U29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb25SZXNwb25zZS5SZWFzb25SBnJlYXNvbhIzCgRpbmZvGAMgASgLMh8uZG1pLlNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUgRpbmZvEiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCJeCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAyJ4ChREb3dubG9hZEltYWdlUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjQKCmltYWdlX2luZm8YAiABKAsyFS5kbWkuSW1hZ2VJbmZvcm1hdGlvblIJaW1hZ2VJbmZvIloKDUNvbmZpZ1JlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIdCgpjb25maWdfdXJsGAIgASgJUgljb25maWdVcmwiwQIKDkNvbmZpZ1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIyCgZyZWFzb24YAiABKA4yGi5kbWkuQ29uZmlnUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsIrABCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIZChVFUlJPUl9GRVRDSElOR19DT05GSUcQAxISCg5JTlZBTElEX0NPTkZJRxAEEiEKHU9QRVJBVElPTl9BTFJFQURZX0lOX1BST0dSRVNTEAUSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAYiRgoYU3RhcnR1cENvbmZpZ0luZm9SZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQivQIKGVN0YXJ0dXBDb25maWdJbmZvUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj0KBnJlYXNvbhgCIAEoDjIlLmRtaS5TdGFydHVwQ29uZmlnSW5mb1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uEh0KCmNvbmZpZ191cmwYAyABKAlSCWNvbmZpZ1VybBIYCgd2ZXJzaW9uGAQgASgJUgd2ZXJzaW9uEiMKDXJlYXNvbl9kZXRhaWwYBSABKAlSDHJlYXNvbkRldGFpbCJeCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAyJnChZVcGxvYWREZWJ1Z0luZm9SZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSIQoMbG9jYXRpb25fdXJsGAMgASgJUgtsb2NhdGlvblVybCKqBQoVVXBsb2FkRGVidWdJbmZvU3RhdHVzEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSPwoGc3RhdHVzGAIgASgOMicuZG1pLlVwbG9hZERlYnVnSW5mb1N0YXR1cy5VcGxvYWRTdGF0dXNSBnN0YXR1cxIpChBwZXJjZW50X3VwbG9hZGVkGAMgASgFUg9wZXJjZW50VXBsb2FkZWQSOQoGcmVhc29uGAQgASgOMiEuZG1pLlVwbG9hZERlYnVnSW5mb1N0YXR1cy5SZWFzb25SBnJlYXNvbhIhCgxsb2NhdGlvbl91cmwYBSABKAlSC2xvY2F0aW9uVXJsEhsKCWZpbGVfbmFtZRgGIAEoCVIIZmlsZU5hbWUiVQoMVXBsb2FkU3RhdHVzEhsKF1VOREVGSU5FRF9VUExPQURfU1RBVFVTEAASDAoIQ09NUExFVEUQARIPCgtJTl9QUk9HUkVTUxACEgkKBUVSUk9SEAMipgIKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhgKFERFVklDRV9OT1RfUkVBQ0hBQkxFEAMSHwobUkVNT1RFX0xPQ0FUSU9OX1VOUkVBQ0hBQkxFEAQSJQohUkVNT1RFX0xPQ0FUSU9OX1BFUk1JU1NJT05fREVOSUVEEAUSFwoTRVJST1JfRFVSSU5HX1VQTE9BRBAGEg8KC0RFVklDRV9CVVNZEAcSFAoQRVJST1JfSU5fUkVRVUVTVBAIEhkKFURFVklDRV9JTl9XUk9OR19TVEFURRAJEiEKHU9QRVJBVElPTl9BTFJFQURZX0lOX1BST0dSRVNTEAoynAQKH05hdGl2ZVNvZnR3YXJlTWFuYWdlbWVudFNlcnZpY2USUQoSR2V0U29mdHdhcmVWZXJzaW9uEg8uZG1pLkhhcmR3YXJlSUQaKi5kbWkuR2V0U29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb25SZXNwb25zZRI+Cg1Eb3dubG9hZEltYWdlEhkuZG1pLkRvd25sb2FkSW1hZ2VSZXF1ZXN0GhAuZG1pLkltYWdlU3RhdHVzMAESNAoNQWN0aXZhdGVJbWFnZRIPLmRtaS5IYXJkd2FyZUlEGhAuZG1pLkltYWdlU3RhdHVzMAESOwoUUmV2ZXJ0VG9TdGFuZGJ5SW1hZ2USDy5kbWkuSGFyZHdhcmVJRBoQLmRtaS5JbWFnZVN0YXR1czABEkcKGlVwZGF0ZVN0YXJ0dXBDb25maWd1cmF0aW9uEhIuZG1pLkNvbmZpZ1JlcXVlc3QaEy5kbWkuQ29uZmlnUmVzcG9uc2UwARJcChtHZXRTdGFydHVwQ29uZmlndXJhdGlvbkluZm8SHS5kbWkuU3Rh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