CuEFChFkbWkvY29tbW9ucy5wcm90bxIDZG1pKj8KBlN0YXR1cxIUChBVTkRFRklORURfU1RBVFVTEAASDQoJT0tfU1RBVFVTEAESEAoMRVJST1JfU1RBVFVTEAIqPwoITG9nTGV2ZWwSCQoFVFJBQ0UQABIJCgVERUJVRxABEggKBElORk8QAhIICgRXQVJOEAMSCQoFRVJST1IQBEI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlK/wMKBhIEAAAUAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMClQKAgUAEgQHAAsBMkggQ29tbW9uIHN0cnVjdHVyZXMgdXNlZCBhY3Jvc3MgdGhlIGRpZmZlcmVudCBEZXZpY2UgTWFuYWdlbWVudCBzZXJ2aWNlcwoKCgoDBQABEgMHBQsKCwoEBQACABIDCAQZCgwKBQUAAgABEgMIBBQKDAoFBQACAAISAwgXGAoLCgQFAAIBEgMJBBIKDAoFBQACAQESAwkEDQoMCgUFAAIBAhIDCRARCgsKBAUAAgISAwoEFQoMCgUFAAICARIDCgQQCgwKBQUAAgICEgMKExQKFgoCBQESBA4AFAEaCkxvZyBMZXZlbAoKCgoDBQEBEgMOBQ0KCwoEBQECABIDDwQOCgwKBQUBAgABEgMPBAkKDAoFBQECAAISAw8MDQoLCgQFAQIBEgMQBA4KDAoFBQECAQESAxAECQoMCgUFAQIBAhIDEAwNCgsKBAUBAgISAxEEDgoMCgUFAQICARIDEQQICgwKBQUBAgICEgMRDA0KCwoEBQECAxIDEgQOCgwKBQUBAgMBEgMSBAgKDAoFBQECAwISAxIMDQoLCgQFAQIEEgMTBA4KDAoFBQECBAESAxMECQoMCgUFAQIEAhIDEwwNYgZwcm90bzMK8i8KH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI7CglUaW1lc3RhbXASGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3NCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIOVGltZXN0YW1wUHJvdG9QAVorZ2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHR5cGVzL3RpbWVzdGFtcPgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0r4LQoHEgUeAIgBAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAOwoJCgIIJRIDIgA7CggKAQgSAyMAHwoJCgIIHxIDIwAfCggKAQgSAyQAQgoJCgIICxIDJABCCggKAQgSAyUALAoJCgIIARIDJQAsCggKAQgSAyYALwoJCgIICBIDJgAvCggKAQgSAycAIgoJCgIIChIDJwAiCggKAQgSAygAIQoJCgIIJBIDKAAhCvEbCgIEABIFfACIAQEa4xsgQSBUaW1lc3RhbXAgcmVwcmVzZW50cyBhIHBvaW50IGluIHRpbWUgaW5kZXBlbmRlbnQgb2YgYW55IHRpbWUgem9uZSBvciBsb2NhbAogY2FsZW5kYXIsIGVuY29kZWQgYXMgYSBjb3VudCBvZiBzZWNvbmRzIGFuZCBmcmFjdGlvbnMgb2Ygc2Vjb25kcyBhdAogbmFub3NlY29uZCByZXNvbHV0aW9uLiBUaGUgY291bnQgaXMgcmVsYXRpdmUgdG8gYW4gZXBvY2ggYXQgVVRDIG1pZG5pZ2h0IG9uCiBKYW51YXJ5IDEsIDE5NzAsIGluIHRoZSBwcm9sZXB0aWMgR3JlZ29yaWFuIGNhbGVuZGFyIHdoaWNoIGV4dGVuZHMgdGhlCiBHcmVnb3JpYW4gY2FsZW5kYXIgYmFja3dhcmRzIHRvIHllYXIgb25lLgoKIEFsbCBtaW51dGVzIGFyZSA2MCBzZWNvbmRzIGxvbmcuIExlYXAgc2Vjb25kcyBhcmUgInNtZWFyZWQiIHNvIHRoYXQgbm8gbGVhcAogc2Vjb25kIHRhYmxlIGlzIG5lZWRlZCBmb3IgaW50ZXJwcmV0YXRpb24sIHVzaW5nIGEgWzI0LWhvdXIgbGluZWFyCiBzbWVhcl0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vdGltZS9zbWVhcikuCgogVGhlIHJhbmdlIGlzIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8gOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5OTlaLiBCeQogcmVzdHJpY3RpbmcgdG8gdGhhdCByYW5nZSwgd2UgZW5zdXJlIHRoYXQgd2UgY2FuIGNvbnZlcnQgdG8gYW5kIGZyb20gW1JGQwogMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBkYXRlIHN0cmluZ3MuCgogIyBFeGFtcGxlcwoKIEV4YW1wbGUgMTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgdGltZSgpYC4KCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModGltZShOVUxMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygwKTsKCiBFeGFtcGxlIDI6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYGdldHRpbWVvZmRheSgpYC4KCiAgICAgc3RydWN0IHRpbWV2YWwgdHY7CiAgICAgZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHR2LnR2X3NlYyk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcyh0di50dl91c2VjICogMTAwMCk7CgogRXhhbXBsZSAzOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFdpbjMyIGBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgpYC4KCiAgICAgRklMRVRJTUUgZnQ7CiAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoJmZ0KTsKICAgICBVSU5UNjQgdGlja3MgPSAoKChVSU5UNjQpZnQuZHdIaWdoRGF0ZVRpbWUpIDw8IDMyKSB8IGZ0LmR3TG93RGF0ZVRpbWU7CgogICAgIC8vIEEgV2luZG93cyB0aWNrIGlzIDEwMCBuYW5vc2Vjb25kcy4gV2luZG93cyBlcG9jaCAxNjAxLTAxLTAxVDAwOjAwOjAwWgogICAgIC8vIGlzIDExNjQ0NDczNjAwIHNlY29uZHMgYmVmb3JlIFVuaXggZXBvY2ggMTk3MC0wMS0wMVQwMDowMDowMFouCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHMoKElOVDY0KSAoKHRpY2tzIC8gMTAwMDAwMDApIC0gMTE2NDQ0NzM2MDBMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoKElOVDMyKSAoKHRpY2tzICUgMTAwMDAwMDApICogMTAwKSk7CgogRXhhbXBsZSA0OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIEphdmEgYFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpYC4KCiAgICAgbG9uZyBtaWxsaXMgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcCA9IFRpbWVzdGFtcC5uZXdCdWlsZGVyKCkuc2V0U2Vjb25kcyhtaWxsaXMgLyAxMDAwKQogICAgICAgICAuc2V0TmFub3MoKGludCkgKChtaWxsaXMgJSAxMDAwKSAqIDEwMDAwMDApKS5idWlsZCgpOwoKCiBFeGFtcGxlIDU6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gY3VycmVudCB0aW1lIGluIFB5dGhvbi4KCiAgICAgdGltZXN0YW1wID0gVGltZXN0YW1wKCkKICAgICB0aW1lc3RhbXAuR2V0Q3VycmVudFRpbWUoKQoKICMgSlNPTiBNYXBwaW5nCgogSW4gSlNPTiBmb3JtYXQsIHRoZSBUaW1lc3RhbXAgdHlwZSBpcyBlbmNvZGVkIGFzIGEgc3RyaW5nIGluIHRoZQogW1JGQyAzMzM5XShodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGZvcm1hdC4gVGhhdCBpcywgdGhlCiBmb3JtYXQgaXMgInt5ZWFyfS17bW9udGh9LXtkYXl9VHtob3VyfTp7bWlufTp7c2VjfVsue2ZyYWNfc2VjfV1aIgogd2hlcmUge3llYXJ9IGlzIGFsd2F5cyBleHByZXNzZWQgdXNpbmcgZm91ciBkaWdpdHMgd2hpbGUge21vbnRofSwge2RheX0sCiB7aG91cn0sIHttaW59LCBhbmQge3NlY30gYXJlIHplcm8tcGFkZGVkIHRvIHR3byBkaWdpdHMgZWFjaC4gVGhlIGZyYWN0aW9uYWwKIHNlY29uZHMsIHdoaWNoIGNhbiBnbyB1cCB0byA5IGRpZ2l0cyAoaS5lLiB1cCB0byAxIG5hbm9zZWNvbmQgcmVzb2x1dGlvbiksCiBhcmUgb3B0aW9uYWwuIFRoZSAiWiIgc3VmZml4IGluZGljYXRlcyB0aGUgdGltZXpvbmUgKCJVVEMiKTsgdGhlIHRpbWV6b25lCiBpcyByZXF1aXJlZC4gQSBwcm90bzMgSlNPTiBzZXJpYWxpemVyIHNob3VsZCBhbHdheXMgdXNlIFVUQyAoYXMgaW5kaWNhdGVkIGJ5CiAiWiIpIHdoZW4gcHJpbnRpbmcgdGhlIFRpbWVzdGFtcCB0eXBlIGFuZCBhIHByb3RvMyBKU09OIHBhcnNlciBzaG91bGQgYmUKIGFibGUgdG8gYWNjZXB0IGJvdGggVVRDIGFuZCBvdGhlciB0aW1lem9uZXMgKGFzIGluZGljYXRlZCBieSBhbiBvZmZzZXQpLgoKIEZvciBleGFtcGxlLCAiMjAxNy0wMS0xNVQwMTozMDoxNS4wMVoiIGVuY29kZXMgMTUuMDEgc2Vjb25kcyBwYXN0CiAwMTozMCBVVEMgb24gSmFudWFyeSAxNSwgMjAxNy4KCiBJbiBKYXZhU2NyaXB0LCBvbmUgY2FuIGNvbnZlcnQgYSBEYXRlIG9iamVjdCB0byB0aGlzIGZvcm1hdCB1c2luZyB0aGUKIHN0YW5kYXJkIFt0b0lTT1N0cmluZygpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL3RvSVNPU3RyaW5nKQogbWV0aG9kLiBJbiBQeXRob24sIGEgc3RhbmRhcmQgYGRhdGV0aW1lLmRhdGV0aW1lYCBvYmplY3QgY2FuIGJlIGNvbnZlcnRlZAogdG8gdGhpcyBmb3JtYXQgdXNpbmcgW2BzdHJmdGltZWBdKGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzIvbGlicmFyeS90aW1lLmh0bWwjdGltZS5zdHJmdGltZSkKIHdpdGggdGhlIHRpbWUgZm9ybWF0IHNwZWMgJyVZLSVtLSVkVCVIOiVNOiVTLiVmWicuIExpa2V3aXNlLCBpbiBKYXZhLCBvbmUKIGNhbiB1c2UgdGhlIEpvZGEgVGltZSdzIFtgSVNPRGF0ZVRpbWVGb3JtYXQuZGF0ZVRpbWUoKWBdKAogaHR0cDovL3d3dy5qb2RhLm9yZy9qb2RhLXRpbWUvYXBpZG9jcy9vcmcvam9kYS90aW1lL2Zvcm1hdC9JU09EYXRlVGltZUZvcm1hdC5odG1sI2RhdGVUaW1lJTJEJTJECiApIHRvIG9idGFpbiBhIGZvcm1hdHRlciBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgdGltZXN0YW1wcyBpbiB0aGlzIGZvcm1hdC4KCgoKCgoDBAABEgN8CBEKnQEKBAQAAgASBIEBAhQajgEgUmVwcmVzZW50cyBzZWNvbmRzIG9mIFVUQyB0aW1lIHNpbmNlIFVuaXggZXBvY2gKIDE5NzAtMDEtMDFUMDA6MDA6MDBaLiBNdXN0IGJlIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8KIDk5OTktMTItMzFUMjM6NTk6NTlaIGluY2x1c2l2ZS4KCg4KBQQAAgAEEgWBAQJ8EwoNCgUEAAIABRIEgQECBwoNCgUEAAIAARIEgQEIDwoNCgUEAAIAAxIEgQESEwrlAQoEBAACARIEhwECEhrWASBOb24tbmVnYXRpdmUgZnJhY3Rpb25zIG9mIGEgc2Vjb25kIGF0IG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gTmVnYXRpdmUKIHNlY29uZCB2YWx1ZXMgd2l0aCBmcmFjdGlvbnMgbXVzdCBzdGlsbCBoYXZlIG5vbi1uZWdhdGl2ZSBuYW5vcyB2YWx1ZXMKIHRoYXQgY291bnQgZm9yd2FyZCBpbiB0aW1lLiBNdXN0IGJlIGZyb20gMCB0byA5OTksOTk5LDk5OQogaW5jbHVzaXZlLgoKDwoFBAACAQQSBocBAoEBFAoNCgUEAAIBBRIEhwECBwoNCgUEAAIBARIEhwEIDQoNCgUEAAIBAxIEhwEQEWIGcHJvdG8zCqqtAQoMZG1pL2h3LnByb3RvEgNkbWkaH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8iGgoEVXVpZBISCgR1dWlkGAEgASgJUgR1dWlkIisKCkhhcmR3YXJlSUQSHQoEdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgR1dWlkIhcKA1VyaRIQCgN1cmkYASABKAlSA3VyaSKEAwoOQ29tcG9uZW50U3RhdGUSSAoSc3RhdGVfbGFzdF9jaGFuZ2VkGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIQc3RhdGVMYXN0Q2hhbmdlZBI5CgthZG1pbl9zdGF0ZRgCIAEoDjIYLmRtaS5Db21wb25lbnRBZG1pblN0YXRlUgphZG1pblN0YXRlEjYKCm9wZXJfc3RhdGUYAyABKA4yFy5kbWkuQ29tcG9uZW50T3BlclN0YXRlUglvcGVyU3RhdGUSOQoLdXNhZ2Vfc3RhdGUYBCABKA4yGC5kbWkuQ29tcG9uZW50VXNhZ2VTdGF0ZVIKdXNhZ2VTdGF0ZRI5CgthbGFybV9zdGF0ZRgFIAEoDjIYLmRtaS5Db21wb25lbnRBbGFybVN0YXRlUgphbGFybVN0YXRlEj8KDXN0YW5kYnlfc3RhdGUYBiABKA4yGi5kbWkuQ29tcG9uZW50U3RhbmRieVN0YXRlUgxzdGFuZGJ5U3RhdGUi6wIKE0NvbXBvbmVudFNlbnNvckRhdGESFAoFdmFsdWUYASABKAVSBXZhbHVlEiYKBHR5cGUYAiABKA4yEi5kbWkuRGF0YVZhbHVlVHlwZVIEdHlwZRIlCgVzY2FsZRgDIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUgVzY2FsZRIcCglwcmVjaXNpb24YBCABKAVSCXByZWNpc2lvbhIpCgZzdGF0dXMYBSABKA4yES5kbWkuU2Vuc29yU3RhdHVzUgZzdGF0dXMSIwoNdW5pdHNfZGlzcGxheRgGIAEoCVIMdW5pdHNEaXNwbGF5EjgKCXRpbWVzdGFtcBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCXRpbWVzdGFtcBIqChF2YWx1ZV91cGRhdGVfcmF0ZRgIIAEoDVIPdmFsdWVVcGRhdGVSYXRlEhsKCWRhdGFfdHlwZRgJIAEoCVIIZGF0YVR5cGUiwQYKF1BvcnRDb21wb25lbnRBdHRyaWJ1dGVzElEKDmNvbm5lY3Rvcl90eXBlGAEgASgOMiouZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzLkNvbm5lY3RvclR5cGVSDWNvbm5lY3RvclR5cGUSOAoFc3BlZWQYAiABKA4yIi5kbWkuUG9ydENvbXBvbmVudEF0dHJpYnV0ZXMuU3BlZWRSBXNwZWVkEkEKCHByb3RvY29sGAMgASgOMiUuZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzLlByb3RvY29sUghwcm90b2NvbBIlCg5waHlzaWNhbF9sYWJlbBgEIAEoCVINcGh5c2ljYWxMYWJlbBIjCg1tYXBwaW5nX2xhYmVsGAUgASgJUgxtYXBwaW5nTGFiZWwSNAoNcG9uX2lkX2NvbmZpZxgGIAEoCzIQLmRtaS5Qb25JZENvbmZpZ1ILcG9uSWRDb25maWcSMwoVc3BlZWRfYXV0b25lZ290aWF0aW9uGAcgASgIUhRzcGVlZEF1dG9uZWdvdGlhdGlvbiJwCg1Db25uZWN0b3JUeXBlEhwKGENPTk5FQ1RPUl9UWVBFX1VOREVGSU5FRBAAEggKBFJKNDUQARIMCghGSUJFUl9MQxACEg8KC0ZJQkVSX1NDX1BDEAMSDQoJRklCRVJfTVBPEAQSCQoFUlMyMzIQBSKuAQoFU3BlZWQSEwoPU1BFRURfVU5ERUZJTkVEEAASCwoHRFlOQU1JQxABEg0KCUdJR0FCSVRfMRACEg4KCkdJR0FCSVRfMTAQAxIOCgpHSUdBQklUXzI1EAQSDgoKR0lHQUJJVF80MBAFEg8KC0dJR0FCSVRfMTAwEAYSDwoLR0lHQUJJVF80MDAQBxIQCgxNRUdBQklUXzI1MDAQCBIQCgxNRUdBQklUXzEyNTAQCSJ8CghQcm90b2NvbBIWChJQUk9UT0NPTF9VTkRFRklORUQQABIMCghFVEhFUk5FVBABEggKBEdQT04QAhIJCgVYR1BPThADEgoKBlhHU1BPThAEEgkKBUdGQVNUEAUSCgoGU0VSSUFMEAYSCAoERVBPThAHEggKBEJJVFMQCCJVCh1Qb3J0Q29tcG9uZW50Q2hhbmdlQXR0cmlidXRlcxI0Cg1wb25faWRfY29uZmlnGAEgASgLMhAuZG1pLlBvbklkQ29uZmlnUgtwb25JZENvbmZpZyJbCiRUcmFuc2NlaXZlckNvbXBvbmVudENoYW5nZUF0dHJpYnV0ZXMSMwoKdHJhbnNfdHlwZRgBIAEoDjIULmRtaS5UcmFuc2NlaXZlclR5cGVSCXRyYW5zVHlwZSJjCgtQb25JZENvbmZpZxIVCgZwb25faWQYASABKAxSBXBvbklkEj0KG3Bvbl9pZF90cmFuc21pdF9wZXJpb2RpY2l0eRgCIAEoDVIYcG9uSWRUcmFuc21pdFBlcmlvZGljaXR5IkUKHENvbnRhaW5lckNvbXBvbmVudEF0dHJpYnV0ZXMSJQoOcGh5c2ljYWxfbGFiZWwYASABKAlSDXBoeXNpY2FsTGFiZWwixQEKFlBzdUNvbXBvbmVudEF0dHJpYnV0ZXMSWQoRc3VwcG9ydGVkX3ZvbHRhZ2UYASABKA4yLC5kbWkuUHN1Q29tcG9uZW50QXR0cmlidXRlcy5TdXBwb3J0ZWRWb2x0YWdlUhBzdXBwb3J0ZWRWb2x0YWdlIlAKEFN1cHBvcnRlZFZvbHRhZ2USHwobU1VQUE9SVEVEX1ZPTFRBR0VfVU5ERUZJTkVEEAASBwoDVjQ4EAESCAoEVjIzMBACEggKBFYxMTUQAyKlBQofVHJhbnNjZWl2ZXJDb21wb25lbnRzQXR0cmlidXRlcxJQCgtmb3JtX2ZhY3RvchgBIAEoDjIvLmRtaS5UcmFuc2NlaXZlckNvbXBvbmVudHNBdHRyaWJ1dGVzLkZvcm1GYWN0b3JSCmZvcm1GYWN0b3ISMwoKdHJhbnNfdHlwZRgCIAEoDjIULmRtaS5UcmFuc2NlaXZlclR5cGVSCXRyYW5zVHlwZRIhCgxtYXhfZGlzdGFuY2UYAyABKA1SC21heERpc3RhbmNlEj0KEm1heF9kaXN0YW5jZV9zY2FsZRgEIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUhBtYXhEaXN0YW5jZVNjYWxlEiMKDXJ4X3dhdmVsZW5ndGgYBSADKA1SDHJ4V2F2ZWxlbmd0aBIjCg10eF93YXZlbGVuZ3RoGAYgAygNUgx0eFdhdmVsZW5ndGgSOgoQd2F2ZWxlbmd0aF9zY2FsZRgHIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUg93YXZlbGVuZ3RoU2NhbGUSGQoIdHhfcG93ZXIYCCADKAVSB3R4UG93ZXISNQoOdHhfcG93ZXJfc2NhbGUYCSABKA4yDy5kbWkuVmFsdWVTY2FsZVIMdHhQb3dlclNjYWxlIsABCgpGb3JtRmFjdG9yEhcKE0ZPUk1fRkFDVE9SX1VOS05PV04QABIICgRRU0ZQEAESDQoJUVNGUF9QTFVTEAISCgoGUVNGUDI4EAMSBwoDU0ZQEAQSDAoIU0ZQX1BMVVMQBRIHCgNYRlAQBhIICgRDRlA0EAcSCAoEQ0ZQMhAIEggKBENQQUsQCRIGCgJYMhAKEgkKBU9USEVSEAsSBwoDQ0ZQEAwSDAoIQ0ZQMl9BQ08QDRIMCghDRlAyX0RDTxAOItkHCglDb21wb25lbnQSEgoEbmFtZRgBIAEoCVIEbmFtZRIoCgVjbGFzcxgCIAEoDjISLmRtaS5Db21wb25lbnRUeXBlUgVjbGFzcxIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SFgoGcGFyZW50GAQgASgJUgZwYXJlbnQSJAoOcGFyZW50X3JlbF9wb3MYBSABKAVSDHBhcmVudFJlbFBvcxIqCghjaGlsZHJlbhgGIAMoCzIOLmRtaS5Db21wb25lbnRSCGNoaWxkcmVuEiEKDGhhcmR3YXJlX3JldhgHIAEoCVILaGFyZHdhcmVSZXYSIQoMZmlybXdhcmVfcmV2GAggASgJUgtmaXJtd2FyZVJldhIhCgxzb2Z0d2FyZV9yZXYYCSABKAlSC3NvZnR3YXJlUmV2Eh0KCnNlcmlhbF9udW0YCiABKAlSCXNlcmlhbE51bRIZCghtZmdfbmFtZRgLIAEoCVIHbWZnTmFtZRIdCgptb2RlbF9uYW1lGAwgASgJUgltb2RlbE5hbWUSFAoFYWxpYXMYDSABKAlSBWFsaWFzEhkKCGFzc2V0X2lkGA4gASgJUgdhc3NldElkEhUKBmlzX2ZydRgPIAEoCFIFaXNGcnUSNQoIbWZnX2RhdGUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgdtZmdEYXRlEhoKA3VyaRgRIAEoCzIILmRtaS5VcmlSA3VyaRIdCgR1dWlkGBIgASgLMgkuZG1pLlV1aWRSBHV1aWQSKQoFc3RhdGUYEyABKAsyEy5kbWkuQ29tcG9uZW50U3RhdGVSBXN0YXRlEjkKC3NlbnNvcl9kYXRhGBQgAygLMhguZG1pLkNvbXBvbmVudFNlbnNvckRhdGFSCnNlbnNvckRhdGESOwoJcG9ydF9hdHRyGDIgASgLMhwuZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzSABSCHBvcnRBdHRyEkoKDmNvbnRhaW5lcl9hdHRyGDMgASgLMiEuZG1pLkNvbnRhaW5lckNvbXBvbmVudEF0dHJpYnV0ZXNIAFINY29udGFpbmVyQXR0chI4Cghwc3VfYXR0chg0IAEoCzIbLmRtaS5Qc3VDb21wb25lbnRBdHRyaWJ1dGVzSABSB3BzdUF0dHISUQoQdHJhbnNjZWl2ZXJfYXR0chg1IAEoCzIkLmRtaS5UcmFuc2NlaXZlckNvbXBvbmVudHNBdHRyaWJ1dGVzSABSD3RyYW5zY2VpdmVyQXR0ckIKCghzcGVjaWZpYyKoAQoISGFyZHdhcmUSOwoLbGFzdF9jaGFuZ2UYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgpsYXN0Q2hhbmdlEiIKBHJvb3QYAiABKAsyDi5kbWkuQ29tcG9uZW50UgRyb290EjsKC2xhc3RfYm9vdGVkGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIKbGFzdEJvb3RlZCLAAwoTTW9kaWZpYWJsZUNvbXBvbmVudBISCgRuYW1lGAEgASgJUgRuYW1lEigKBWNsYXNzGAIgASgOMhIuZG1pLkNvbXBvbmVudFR5cGVSBWNsYXNzEiYKBnBhcmVudBgDIAEoCzIOLmRtaS5Db21wb25lbnRSBnBhcmVudBIkCg5wYXJlbnRfcmVsX3BvcxgEIAEoBVIMcGFyZW50UmVsUG9zEhQKBWFsaWFzGAUgASgJUgVhbGlhcxIZCghhc3NldF9pZBgGIAEoCVIHYXNzZXRJZBIaCgN1cmkYByABKAsyCC5kbWkuVXJpUgN1cmkSOQoLYWRtaW5fc3RhdGUYCCABKA4yGC5kbWkuQ29tcG9uZW50QWRtaW5TdGF0ZVIKYWRtaW5TdGF0ZRJBCglwb3J0X2F0dHIYMiABKAsyIi5kbWkuUG9ydENvbXBvbmVudENoYW5nZUF0dHJpYnV0ZXNIAFIIcG9ydEF0dHISRgoIdHJ4X2F0dHIYMyABKAsyKS5kbWkuVHJhbnNjZWl2ZXJDb21wb25lbnRDaGFuZ2VBdHRyaWJ1dGVzSABSB3RyeEF0dHJCCgoIc3BlY2lmaWMqtAMKDUNvbXBvbmVudFR5cGUSHAoYQ09NUE9ORU5UX1RZUEVfVU5ERUZJTkVEEAASGgoWQ09NUE9ORU5UX1RZUEVfVU5LTk9XThABEhoKFkNPTVBPTkVOVF9UWVBFX0NIQVNTSVMQAhIcChhDT01QT05FTlRfVFlQRV9CQUNLUExBTkUQAxIcChhDT01QT05FTlRfVFlQRV9DT05UQUlORVIQBBIfChtDT01QT05FTlRfVFlQRV9QT1dFUl9TVVBQTFkQBRIWChJDT01QT05FTlRfVFlQRV9GQU4QBhIZChVDT01QT05FTlRfVFlQRV9TRU5TT1IQBxIZChVDT01QT05FTlRfVFlQRV9NT0RVTEUQCBIXChNDT01QT05FTlRfVFlQRV9QT1JUEAkSFgoSQ09NUE9ORU5UX1RZUEVfQ1BVEAoSGgoWQ09NUE9ORU5UX1RZUEVfQkFUVEVSWRALEhoKFkNPTVBPTkVOVF9UWVBFX1NUT1JBR0UQDBIZChVDT01QT05FTlRfVFlQRV9NRU1PUlkQDRIeChpDT01QT05FTlRfVFlQRV9UUkFOU0NFSVZFUhAOKrMBChNDb21wb25lbnRBZG1pblN0YXRlEh4KGkNPTVBfQURNSU5fU1RBVEVfVU5ERUZJTkVEEAASHAoYQ09NUF9BRE1JTl9TVEFURV9VTktOT1dOEAESGwoXQ09NUF9BRE1JTl9TVEFURV9MT0NLRUQQAhIiCh5DT01QX0FETUlOX1NUQVRFX1NIVVRUSU5HX0RPV04QAxIdChlDT01QX0FETUlOX1NUQVRFX1VOTE9DS0VEEAQqqAEKEkNvbXBvbmVudE9wZXJTdGF0ZRIdChlDT01QX09QRVJfU1RBVEVfVU5ERUZJTkVEEAASGwoXQ09NUF9PUEVSX1NUQVRFX1VOS05PV04QARIcChhDT01QX09QRVJfU1RBVEVfRElTQUJMRUQQAhIbChdDT01QX09QRVJfU1RBVEVfRU5BQkxFRBADEhsKF0NPTVBfT1BFUl9TVEFURV9URVNUSU5HEAQqpgEKE0NvbXBvbmVudFVzYWdlU3RhdGUSHgoaQ09NUF9VU0FHRV9TVEFURV9VTkRFRklORUQQABIcChhDT01QX1VTQUdFX1NUQVRFX1VOS05PV04QARIZChVDT01QX1VTQUdFX1NUQVRFX0lETEUQAhIbChdDT01QX1VTQUdFX1NUQVRFX0FDVElWRRADEhkKFUNPTVBfVVNBR0VfU1RBVEVfQlVTWRAEKo8CChNDb21wb25lbnRBbGFybVN0YXRlEh4KGkNPTVBfQUxBUk1fU1RBVEVfVU5ERUZJTkVEEAASHAoYQ09NUF9BTEFSTV9TVEFURV9VTktOT1dOEAESIQodQ09NUF9BTEFSTV9TVEFURV9VTkRFUl9SRVBBSVIQAhIdChlDT01QX0FMQVJNX1NUQVRFX0NSSVRJQ0FMEAMSGgoWQ09NUF9BTEFSTV9TVEFURV9NQUpPUhAEEhoKFkNPTVBfQUxBUk1fU1RBVEVfTUlOT1IQBRIcChhDT01QX0FMQVJNX1NUQVRFX1dBUk5JTkcQBhIiCh5DT01QX0FMQVJNX1NUQVRFX0lOREVURVJNSU5BVEUQByq8AQoVQ29tcG9uZW50U3RhbmRieVN0YXRlEiAKHENPTVBfU1RBTkRCWV9TVEFURV9VTkRFRklORUQQABIeChpDT01QX1NUQU5EQllfU1RBVEVfVU5LTk9XThABEhoKFkNPTVBfU1RBTkRCWV9TVEFURV9IT1QQAhIbChdDT01QX1NUQU5EQllfU1RBVEVfQ09MRBADEigKJENPTVBfU1RBTkRCWV9TVEFURV9QUk9WSURJTkdfU0VSVklDRRAEKp0DCg1EYXRhVmFsdWVUeXBlEhgKFFZBTFVFX1RZUEVfVU5ERUZJTkVEEAASFAoQVkFMVUVfVFlQRV9PVEhFUhABEhYKElZBTFVFX1RZUEVfVU5LTk9XThACEhcKE1ZBTFVFX1RZUEVfVk9MVFNfQUMQAxIXChNWQUxVRV9UWVBFX1ZPTFRTX0RDEAQSFgoSVkFMVUVfVFlQRV9BTVBFUkVTEAUSFAoQVkFMVUVfVFlQRV9XQVRUUxAGEhQKEFZBTFVFX1RZUEVfSEVSVFoQBxIWChJWQUxVRV9UWVBFX0NFTFNJVVMQCBIZChVWQUxVRV9UWVBFX1BFUkNFTlRfUkgQCRISCg5WQUxVRV9UWVBFX1JQTRAKEhIKDlZBTFVFX1RZUEVfQ01NEAsSGgoWVkFMVUVfVFlQRV9UUlVUSF9WQUxVRRAMEhYKElZBTFVFX1RZUEVfUEVSQ0VOVBANEhUKEVZBTFVFX1RZUEVfTUVURVJTEA4SFAoQVkFMVUVfVFlQRV9CWVRFUxAPEhIKDlZBTFVFX1RZUEVfREJNEBAqpAMKClZhbHVlU2NhbGUSGQoVVkFMVUVfU0NBTEVfVU5ERUZJTkVEEAASFQoRVkFMVUVfU0NBTEVfWU9DVE8QARIVChFWQUxVRV9TQ0FMRV9aRVBUTxACEhQKEFZBTFVFX1NDQUxFX0FUVE8QAxIVChFWQUxVRV9TQ0FMRV9GRU1UTxAEEhQKEFZBTFVFX1NDQUxFX1BJQ08QBRIUChBWQUxVRV9TQ0FMRV9OQU5PEAYSFQoRVkFMVUVfU0NBTEVfTUlDUk8QBxIVChFWQUxVRV9TQ0FMRV9NSUxMSRAIEhUKEVZBTFVFX1NDQUxFX1VOSVRTEAkSFAoQVkFMVUVfU0NBTEVfS0lMTxAKEhQKEFZBTFVFX1NDQUxFX01FR0EQCxIUChBWQUxVRV9TQ0FMRV9HSUdBEAwSFAoQVkFMVUVfU0NBTEVfVEVSQRANEhQKEFZBTFVFX1NDQUxFX1BFVEEQDhITCg9WQUxVRV9TQ0FMRV9FWEEQDxIVChFWQUxVRV9TQ0FMRV9aRVRUQRAQEhUKEVZBTFVFX1NDQUxFX1lPVFRBEBEqggEKDFNlbnNvclN0YXR1cxIbChdTRU5TT1JfU1RBVFVTX1VOREVGSU5FRBAAEhQKEFNFTlNPUl9TVEFUVVNfT0sQARIdChlTRU5TT1JfU1RBVFVTX1VOQVZBSUxBQkxFEAISIAocU0VOU09SX1NUQVRVU19OT05PUEVSQVRJT05BTBADKqQBCg9UcmFuc2NlaXZlclR5cGUSEgoOVFlQRV9VTkRFRklORUQQABIMCghFVEhFUk5FVBABEggKBEdQT04QAhIJCgVYR1BPThADEgoKBlhHU1BPThAEEggKBENQT04QBRILCgdOR19QT04yEAYSCAoERVBPThAHEhUKEUNPTUJPX0dQT05fWEdTUE9OEAgSFgoRVFlQRV9OT1RfREVURUNURUQQ/wFCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSvR0CgcSBQAA1AIBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAKQppCgIEABIECQALATJdIFRoZSBtb2RlbCB1c2VkIHRvIHJlcHJlc2VudCBhIEhXIGlzIGJhc2VkIG9uIFJGQzgzNDggKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM4MzQ4KQ0KCgoKAwQAARIDCQgMCgsKBAQAAgASAwoEFAoNCgUEAAIABBIECgQJDgoMCgUEAAIABRIDCgQKCgwKBQQAAgABEgMKCw8KDAoFBAACAAMSAwoSEwoKCgIEARIEDQAPAQoKCgMEAQESAw0IEgoLCgQEAQIAEgMOBBIKDQoFBAECAAQSBA4EDRQKDAoFBAEC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BQQOAgcBEgTOAhgjCg0KBQQOAgcDEgTOAiYnCl0KBAQOCAASBtACBNMCBRpNIFRoZSBhdHRyaWJ1dGUgJ3NwZWNpZmljJyBjYW4gYmUgcG9wdWxhdGVkIGZvciBzcGVjaWZpYyBjbGFzcyBvZiBjb21wb25lbnRzDQoKDQoFBA4IAAESBNACChIKDAoEBA4CCBIE0QIINQoNCgUEDgIIBhIE0QIIJQoNCgUEDgIIARIE0QImLwoNCgUEDgIIAxIE0QIyNAoMCgQEDgIJEgTSAgg7Cg0KBQQOAgkGEgTSAggsCg0KBQQOAgkBEgTSAi01Cg0KBQQOAgkDEgTSAjg6YgZwcm90bzMKuBIKG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIgcKBUVtcHR5QnYKE2NvbS5nb29nbGUucHJvdG9idWZCCkVtcHR5UHJvdG9QAVonZ2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHR5cGVzL2VtcHR5+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSv4QCgYSBB4AMxAKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiADsKCQoCCCUSAyIAOwoICgEIEgMjAD4KCQoCCAsSAyMAPgoICgEIEgMkACwKCQoCCAESAyQALAoICgEIEgMlACsKCQoCCAgSAyUAKwoICgEIEgMmACIKCQoCCAoSAyYAIgoICgEIEgMnACEKCQoCCCQSAycAIQoICgEIEgMoAB8KCQoCCB8SAygAHwr7AgoCBAASAzMAEBrvAiBBIGdlbmVyaWMgZW1wdHkgbWVzc2FnZSB0aGF0IHlvdSBjYW4gcmUtdXNlIHRvIGF2b2lkIGRlZmluaW5nIGR1cGxpY2F0ZWQKIGVtcHR5IG1lc3NhZ2VzIGluIHlvdXIgQVBJcy4gQSB0eXBpY2FsIGV4YW1wbGUgaXMgdG8gdXNlIGl0IGFzIHRoZSByZXF1ZXN0CiBvciB0aGUgcmVzcG9uc2UgdHlwZSBvZiBhbiBBUEkgbWV0aG9kLiBGb3IgaW5zdGFuY2U6CgogICAgIHNlcnZpY2UgRm9vIHsKICAgICAgIHJwYyBCYXIoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KSByZXR1cm5zIChnb29nbGUucHJvdG9idWYuRW1wdHkpOwogICAgIH0KCiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYEVtcHR5YCBpcyBlbXB0eSBKU09OIG9iamVjdCBge31gLgoKCgoDBAABEgMzCA1iBnByb3RvMwqgWgogZG1pL2h3X2V2ZW50c19tZ210X3NlcnZpY2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8aDGRtaS9ody5wcm90bxofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvIpsBCglWYWx1ZVR5cGUSGQoHaW50X3ZhbBgBIAEoA0gAUgZpbnRWYWwSGwoIdWludF92YWwYAiABKARIAFIHdWludFZhbBIdCglmbG9hdF92YWwYAyABKAJIAFIIZmxvYXRWYWwSMAoJdHlwZU9mVmFsGAQgASgOMhIuZG1pLkRhdGFWYWx1ZVR5cGVSCXR5cGVPZlZhbEIFCgN2YWwiUgoKV2F0ZXJNYXJrcxIiCgRoaWdoGAEgASgLMg4uZG1pLlZhbHVlVHlwZVIEaGlnaBIgCgNsb3cYAiABKAsyDi5kbWkuVmFsdWVUeXBlUgNsb3ciawoKVGhyZXNob2xkcxInCgV1cHBlchgBIAEoCzIPLmRtaS5XYXRlck1hcmtzSABSBXVwcGVyEicKBWxvd2VyGAIgASgLMg8uZG1pLldhdGVyTWFya3NIAFIFbG93ZXJCCwoJdGhyZXNob2xkIn4KFFRocmVzaG9sZEluZm9ybWF0aW9uEjUKDm9ic2VydmVkX3ZhbHVlGAEgASgLMg4uZG1pLlZhbHVlVHlwZVINb2JzZXJ2ZWRWYWx1ZRIvCgp0aHJlc2hvbGRzGAIgASgLMg8uZG1pLlRocmVzaG9sZHNSCnRocmVzaG9sZHMiigEKCEV2ZW50Q2ZnEigKCGV2ZW50X2lkGAEgASgOMg0uZG1pLkV2ZW50SWRzUgdldmVudElkEiMKDWlzX2NvbmZpZ3VyZWQYAiABKAhSDGlzQ29uZmlndXJlZBIvCgp0aHJlc2hvbGRzGAMgASgLMg8uZG1pLlRocmVzaG9sZHNSCnRocmVzaG9sZHMiMAoJRXZlbnRzQ2ZnEiMKBWl0ZW1zGAEgAygLMg0uZG1pLkV2ZW50Q2ZnUgVpdGVtcyKeAgoSTGlzdEV2ZW50c1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI2CgZyZWFzb24YAiABKA4yHi5kbWkuTGlzdEV2ZW50c1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uEiYKBmV2ZW50cxgDIAEoCzIOLmRtaS5FdmVudHNDZmdSBmV2ZW50cxIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMi3wEKGkV2ZW50c0NvbmZpZ3VyYXRpb25SZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSKgoHY2hhbmdlcxgCIAEoCzIOLmRtaS5FdmVudHNDZmdIAFIHY2hhbmdlcxIqChByZXNldF90b19kZWZhdWx0GAMgASgISABSDnJlc2V0VG9EZWZhdWx0EjAKDmNvbXBvbmVudF91dWlkGAQgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWRCCwoJb3BlcmF0aW9uIpwCChtFdmVudHNDb25maWd1cmF0aW9uUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj8KBnJlYXNvbhgCIAEoDjInLmRtaS5FdmVudHNDb25maWd1cmF0aW9uUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsInIKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhIKDklOVkFMSURfQ09ORklHEAMSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAQilAEKDUV2ZW50TWV0YURhdGESKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lIoICCgVFdmVudBI5Cg5ldmVudF9tZXRhZGF0YRgBIAEoCzISLmRtaS5FdmVudE1ldGFEYXRhUg1ldmVudE1ldGFkYXRhEigKCGV2ZW50X2lkGAIgASgOMg0uZG1pLkV2ZW50SWRzUgdldmVudElkEjcKCXJhaXNlZF90cxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCHJhaXNlZFRzEkAKDnRocmVzaG9sZF9pbmZvGAQgASgLMhkuZG1pLlRocmVzaG9sZEluZm9ybWF0aW9uUg10aHJlc2hvbGRJbmZvEhkKCGFkZF9pbmZvGAUgASgJUgdhZGRJbmZvKoIQCghFdmVudElkcxIYChRFVkVOVF9OQU1FX1VOREVGSU5FRBAAEh4KGkVWRU5UX1RSQU5TQ0VJVkVSX1BMVUdfT1VUEGQSHQoZRVZFTlRfVFJBTlNDRUlWRVJfUExVR19JThBlEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQUJPVkVfVEhSRVNIT0xEEGYSLQopRVZFTlRfVFJBTlNDRUlWRVJfVk9MVEFHRV9CRUxPV19USFJFU0hPTEQQZxIxCi1FVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9BQk9WRV9USFJFU0hPTEQQaBIxCi1FVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9CRUxPV19USFJFU0hPTEQQaRItCilFVkVOVF9UUkFOU0NFSVZFUl9DVVJSRU5UX0FCT1ZFX1RIUkVTSE9MRBBqEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQkVMT1dfVEhSRVNIT0xEEGsSLgoqRVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEEGwSLgoqRVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEEG0SLgoqRVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEEG4SLgoqRVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEEG8SHQoZRVZFTlRfVFJBTlNDRUlWRVJfRkFJTFVSRRBwEjcKM0VWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBBxEjcKM0VWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBByEjsKN0VWRU5UX1RSQU5TQ0VJVkVSX1RFTVBFUkFUVVJFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQcxI7CjdFVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHQSNwozRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHUSNwozRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHYSOAo0RVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBB3EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQeBI4CjRFVkVOVF9UUkFOU0NFSVZFUl9UWF9QT1dFUl9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHkSOAo0RVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB6EicKI0VWRU5UX1RSQU5TQ0VJVkVSX0ZBSUxVUkVfUkVDT1ZFUkVEEHsSFwoSRVZFTlRfUFNVX1BMVUdfT1VUEMgBEhYKEUVWRU5UX1BTVV9QTFVHX0lOEMkBEhYKEUVWRU5UX1BTVV9GQUlMVVJFEMoBEiAKG0VWRU5UX1BTVV9GQUlMVVJFX1JFQ09WRVJFRBDLARIWChFFVkVOVF9GQU5fRkFJTFVSRRCsAhIXChJFVkVOVF9GQU5fUExVR19PVVQQrQISFgoRRVZFTlRfRkFOX1BMVUdfSU4QrgISIAobRVZFTlRfRkFOX0ZBSUxVUkVfUkVDT1ZFUkVEEK8CEikKJEVWRU5UX0NQVV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTBCQAxImCiFFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUwQkQMSMwouRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMX1JFQ09WRVJFRBCSAxIwCitFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUxfUkVDT1ZFUkVEEJMDEhoKFUVWRU5UX0hXX0RFVklDRV9SRVNFVBD0AxIvCipFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfQ1JJVElDQUwQ9QMSLAonRVZFTlRfSFdfREVWSUNFX1RFTVBFUkFUVVJFX0FCT1ZFX0ZBVEFMEPYDEjkKNEVWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTF9SRUNPVkVSRUQQ9wMSNgoxRVZFTlRfSFdfREVWSUNFX1RFTVBFUkFUVVJFX0FCT1ZFX0ZBVEFMX1JFQ09WRVJFRBD4AxIbChZFVkVOVF9IV19ERVZJQ0VfUkVCT09UEPkDEicKIkVWRU5UX0hXX1RFTVBFUkFUVVJFX1NFTlNPUl9GQUlMRUQQ+gMSLAonRVZFTlRfSFdfQUxMX1RFTVBFUkFUVVJFX1NFTlNPUlNfRkFJTEVEEPsDEh0KGEVWRU5UX0xJTkVfQ0FSRF9QTFVHX09VVBDYBBIcChdFVkVOVF9MSU5FX0NBUkRfUExVR19JThDZBDLtAQodTmF0aXZlRXZlbnRzTWFuYWdlbWVudFNlcnZpY2USNgoKTGlzdEV2ZW50cxIPLmRtaS5IYXJkd2FyZUlEGhcuZG1pLkxpc3RFdmVudHNSZXNwb25zZRJeChlVcGRhdGVFdmVudHNDb25maWd1cmF0aW9uEh8uZG1pLkV2ZW50c0NvbmZpZ3VyYXRpb25SZXF1ZXN0GiAuZG1pLkV2ZW50c0NvbmZpZ3VyYXRpb25SZXNwb25zZRI0CgxTdHJlYW1FdmVudHMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaCi5kbWkuRXZlbnQwAUI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlKgTgKBxIFAADBAQEKCAoBDBIDAAASCggKAQgSAwIAUAoJCgIICxIDAgBQCggKAQISAwMADAoJCgIDABIDBQAbCgkKAgMBEgMGABYKCQoCAwISAwcAKQoJCgIDAxIDCAAlCkUKAgUAEgQMAFABMjkgTWFuYWdlbWVudCBvZiBFdmVudHMgYW5kIHByb3RvcyBmb3IgZW5jb2Rpbmcgb2YgRXZlbnRzDQoKCgoDBQABEgMMBQ0KCwoEBQACABIDDQQdCgwKBQUAAgABEgMNBBgKDAoFBQACAAISAw0bHAosCgQFAAIBEgMQBCUaHyBFdmVudHMgZnJvbSB0aGUgVHJhbnNjZWl2ZXJzDQoKDAoFBQACAQESAxAEHgoMCgUFAAIBAhIDECEkCgsKBAUAAgISAxEEJAoMCgUFAAICARIDEQQdCgwKBQUAAgICEgMRICMKkgMKBAUAAgMSAxgENBqEAyBUaGUgdGhyZXNob2xkIGJhc2VkIGV2ZW50cyBvbiB0aGUgdHJhbnNjZWl2ZXJzIHNob3VsZCBiZSBjb25maWd1cmVkIG9uDQogdGhlIHBvcnQgY29tcG9uZW50cyBvZiB0aGF0IHRyYW5zY2VpdmVyIGFuZCBub3Qgb24gdGhlIHRyYW5zY2VpdmVyDQogY29tcG9uZW50IGl0c2VsZi4gVGhpcyBpcyBiZWNhdXNlIHRoZXJlIGNvdWxkIGJlIGRpZmZlcmVudCB0aHJlc2hvbGRzDQogb24gdGhlIGRpZmZlcmVudCBwb3J0cyBvZiBhIHRyYW5zY2VpdmVyIChmb3IgZXhhbXBsZSBmb3IgYSB0cmFuc2NlaXZlciBvZg0KIHR5cGUgQ09NQk9fR1BPTl9YR1NQT04gdGhlIHBvd2VyIHRocmVzaG9sZHMgY291bGQgYmUgZGlmZmVyZW50IGZvciB0aGUNCiBHUE9OIGFuZCBYR1NQT04gcG9ydHMpDQoKDAoFBQACAwESAxgELQoMCgUFAAIDAhIDGDAzCgsKBAUAAgQSAxkENAoMCgUFAAIEARIDGQQtCgwKBQUAAgQCEgMZMDMKCwoEBQACBRIDGgQ4CgwKBQUAAgUBEgMaBDEKDAoFBQACBQISAxo0NwoLCgQFAAIGEgMbBDgKDAoFBQACBgESAxsEMQoMCgUFAAIGAhIDGzQ3CgsKBAUAAgcSAxwENAoMCgUFAAIHARIDHAQtCgwKBQUAAgcCEgMcMDMKCwoEBQACCBIDHQQ0CgwKBQUAAggBEgMdBC0KDAoFBQACCAISAx0wMwoLCgQFAAIJEgMeBDUKDAoFBQACCQESAx4ELgoMCgUFAAIJAhIDHjE0CgsKBAUAAgoSAx8ENQoMCgUFAAIKARIDHwQuCgwKBQUAAgoCEgMfMTQKCwoEBQACCxIDIAQ1CgwKBQUAAgsBEgMgBC4KDAoFBQACCwISAyAxNAoLCgQFAAIMEgMhBDUKDAoFBQACDAESAyEELgoMCgUFAAIMAhIDITE0CgsKBAUAAg0SAyIEJAoMCgUFAAINARIDIgQdCgwKBQUAAg0CEgMiICMKCwoEBQACDhIDIwQ+CgwKBQUAAg4BEgMjBDcKDAoFBQACDgISAyM6PQoLCgQFAAIPEgMkBD4KDAoFBQACDwESAyQENwoMCgUFAAIPAhIDJDo9CgsKBAUAAhASAyUEQgoMCgUFAAIQARIDJQQ7CgwKBQUAAhACEgMlPkEKCwoEBQACERIDJgRCCgwKBQUAAhEBEgMmBDsKDAoFBQACEQISAyY+QQoLCgQFAAISEgMnBD4KDAoFBQACEgESAycENwoMCgUFAAISAhIDJzo9CgsKBAUAAhMSAygEPgoMCgUFAAITARIDKAQ3CgwKBQUAAhMCEgMoOj0KCwoEBQACFBIDKQQ/CgwKBQUAAhQBEgMpBDgKDAoFBQACFAISAyk7PgoLCgQFAAIVEgMqBD8KDAoFBQACFQESAyoEOAoMCgUFAAIVAhIDKjs+CgsKBAUAAhYSAysEPwoMCgUFAAIWARIDKwQ4CgwKBQUAAhYCEgMrOz4KCwoEBQACFxIDLAQ/CgwKBQUAAhcBEgMsBDgKDAoFBQACFwISAyw7PgoLCgQFAAIYEgMtBC4KDAoFBQACGAESAy0EJwoMCgUFAAIYAhIDLSotCiMKBAUAAhkSAzAEHRoWIEV2ZW50cyBmcm9tIHRoZSBQU1UNCgoMCgUFAAIZARIDMAQWCgwKBQUAAhkCEgMwGRwKCwoEBQACGhIDMQQcCgwKBQUAAhoBEgMxBBUKDAoFBQACGgISAzEYGwoLCgQFAAIbEgMyBBwKDAoFBQACGwESAzIEFQoMCgUFAAIbAhIDMhgbCgsKBAUAAhwSAzMEJgoMCgUFAAIcARIDMwQfCgwKBQUAAhwCEgMzIiUKIwoEBQACHRIDNgQcGhYgRXZlbnRzIGZvciB0aGUgRmFucw0KCgwKBQUAAh0BEgM2BBUKDAoFBQACHQISAzYYGwoLCgQFAAIeEgM3BB0KDAoFBQACHgESAzcEFgoMCgUFAAIeAhIDNxkcCgsKBAUAAh8SAzgEHAoMCgUFAAIfARIDOAQVCgwKBQUAAh8CEgM4GBsKCwoEBQACIBIDOQQmCgwKBQUAAiABEgM5BB8KDAoFBQACIAISAzkiJQojCgQFAAIhEgM8BC8aFiBFdmVudHMgZm9yIHRoZSBDUFVzDQoKDAoFBQACIQESAzwEKAoMCgUFAAIhAhIDPCsuCgsKBAUAAiISAz0ELAoMCgUFAAIiARIDPQQlCgwKBQUAAiICEgM9KCsKCwoEBQACIxIDPgQ5CgwKBQUAAiMBEgM+BDIKDAoFBQACIwISAz41OAoLCgQFAAIkEgM/BDYKDAoFBQACJAESAz8ELwoMCgUFAAIkAhIDPzI1CjEKBAUAAiUSA0IEIBokIEV2ZW50cyBmb3IgdGhlIGNvbXBsZXRlIEhXIERldmljZQ0KCgwKBQUAAiUBEgNCBBkKDAoFBQACJQISA0IcHwoLCgQFAAImEgNDBDUKDAoFBQACJgESA0MELgoMCgUFAAImAhIDQzE0CgsKBAUAAicSA0QEMgoMCgUFAAInARIDRAQrCgwKBQUAAicCEgNELjEKCwoEBQACKBIDRQQ/CgwKBQUAAigBEgNFBDgKDAoFBQACKAISA0U7PgoLCgQFAAIpEgNGBDwKDAoFBQACKQESA0YENQoMCgUFAAIpAhIDRjg7CgsKBAUAAioSA0cEIQoMCgUFAAIqARIDRwQaCgwKBQUAAioCEgNHHSAKCwoEBQACKxIDSAQtCgwKBQUAAisBEgNIBCYKDAoFBQACKwISA0gpLAoLCgQFAAIsEgNJBDIKDAoFBQACLAESA0kEKwoMCgUFAAIsAhIDSS4xCjoKBAUAAi0SA0wEIxotIEV2ZW50cyBmb3IgdGhlIGxpbmUgY2FyZHMgb24gdGhlIEhXIERldmljZQ0KCgwKBQUAAi0BEgNMBBwKDAoFBQACLQISA0wfIgoLCgQFAAIuEgNNBCIKDAoFBQACLgESA00EGwoMCgUFAAIuAhIDTR4hCgoKAgQAEgRSAF0BCgoKAwQAARIDUggRCq4BCgQEAAgAEgRWBFoFGp8BIEZvciB2YWwgbm8gbXVsdGlwbGVzIG9mIHVuaXRzIHNoYWxsIGJlIHVzZWQuDQogRm9yIGV4YW1wbGUsIGZvciBtZW1vcnkgdmFsIHNob3VsZCBiZSBpbiBieXRlcyBhbmQgbm90IGluIGtpbG9ieXRlcyBvciBhbnkNCiBvdGhlciBtdWx0aXBsZSBvZiB0aGUgdW5pdCBieXRlLg0KCgwKBQQACAABEgNWCg0KCwoEBAACABIDVwgaCgwKBQQAAgAFEgNXCA0KDAoFBAACAAESA1cOFQoMCgUEAAIAAxIDVxgZCgsKBAQAAgESA1gIHAoMCgUEAAIBBRIDWAgOCgwKBQQAAgEBEgNYDxcKDAoFBAACAQMSA1gaGwoLCgQEAAICEgNZCBwKDAoFBAACAgUSA1kIDQoMCgUEAAICARIDWQ4XCgwKBQQAAgIDEgNZGhsKCwoEBAACAxIDXAQgCg0KBQQAAgMEEgRcBFoFCgwKBQQAAgMGEgNcBBEKDAoFBAACAwESA1wSGwoMCgUEAAIDAxIDXB4fCgoKAgQBEgRfAGIBCgoKAwQBARIDXwgSCgsKBAQBAgASA2AEFwoNCgUEAQIABBIEYARfFAoMCgUEAQIABhIDYAQNCgwKBQQBAgABEgNgDhIKDAoFBAECAAMSA2AVFgoLCgQEAQIBEgNhBBYKDQoFBAECAQQSBGEEYBcKDAoFBAECAQYSA2EEDQoMCgUEAQIBARIDYQ4RCgwKBQQBAgEDEgNhFBUKCgoCBAISBGQAaQEKCgoDBAIBEgNkCBIKDAoEBAIIABIEZQRoBQoMCgUEAggAARIDZQoTCgsKBAQCAgASA2YIHQoMCgUEAgIABhIDZggSCgwKBQQCAgABEgNmExgKDAoFBAICAAMSA2YbHAoLCgQEAgIBEgNnCB0KDAoFBAICAQYSA2cIEgoMCgUEAgIBARIDZxMYCgwKBQQCAgEDEgNnGxwKCgoCBAMSBGsAbgEKCgoDBAMBEgNrCBwKCwoEBAMCABIDbAQhCg0KBQQDAgAEEgRsBGseCgwKBQQDAgAGEgNsBA0KDAoFBAMCAAESA2wOHAoMCgUEAwIAAxIDbB8gCgsKBAQDAgESA20EHgoNCgUEAwIBBBIEbQRsIQoMCgUEAwIBBhIDbQQOCgwKBQQDAgEBEgNtDxkKDAoFBAMCAQMSA20cHQoKCgIEBBIEcAB1AQoKCgMEBAESA3AIEAoLCgQEBAIAEgNxBBoKDQoFBAQCAAQSBHEEcBIKDAoFBAQCAAYSA3EEDAoMCgUEBAIAARIDcQ0VCgwKBQQEAgADEgNxGBkKCwoEBAQCARIDcgQbCg0KBQQEAgEEEgRyBHEaCgwKBQQEAgEFEgNyBAgKDAoFBAQCAQESA3IJFgoMCgUEBAIBAxIDchkaClMKBAQEAgISA3QEHhpGIE9wdGlvbmFsIHRocmVzaG9sZCB2YWx1ZXMsIGFwcGxpY2FibGUgb25seSBmb3Igc29tZSBzcGVjaWZpYyBldmVudHMNCgoNCgUEBAICBBIEdARyGwoMCgUEBAICBhIDdAQOCgwKBQQEAgIBEgN0DxkKDAoFBAQCAgMSA3QcHQoKCgIEBRIEdwB5AQoKCgMEBQESA3cIEQoLCgQEBQIAEgN4BCAKDAoFBAUCAAQSA3gEDAoMCgUEBQIABhIDeA0VCgwKBQQFAgABEgN4FhsKDAoFBAUCAAMSA3geHwoLCgIEBhIFewCGAQEKCgoDBAYBEgN7CBoKDQoEBAYEABIFfASBAQUKDAoFBAYEAAESA3wJDwoNCgYEBgQAAgASA30IHQoOCgcEBgQAAgABEgN9CBgKDgoHBAYEAAIAAhIDfRscCg0KBgQGBAACARIDfggbCg4KBwQGBAACAQESA34IFgoOCgcEBgQAAgECEgN+GRoKDQoGBAYEAAICEgN/CBsKDgoHBAYEAAICARIDfwgWCg4KBwQGBAACAgISA38ZGgoOCgYEBgQAAgMSBIABCB8KDwoHBAYEAAIDARIEgAEIGgoPCgcEBgQAAgMCEgSAAR0eCgwKBAQGAgASBIIBBBYKDwoFBAYCAAQSBoIBBIEBBQoNCgUEBgIABhIEggEECgoNCgUEBgIAARIEggELEQoNCgUEBgIAAxIEggEUFQoMCgQEBgIBEgSDAQQWCg8KBQQGAgEEEgaDAQSCARYKDQoFBAYCAQYSBIMBBAoKDQoFBAYCAQESBIMBCxEKDQoFBAYCAQMSBIMBFBUKDAoEBAYCAhIEhAEEGQoPCgUEBgICBBIGhAEEgwEWCg0KBQQGAgIGEgSEAQQNCg0KBQQGAgIBEgSEAQ4UCg0KBQQGAgIDEgSEARcYCgwKBAQGAgMSBIUBBB0KDwoFBAYCAwQSBoUBBIQBGQoNCgUEBgIDBRIEhQEECgoNCgUEBgIDARIEhQELGAoNCgUEBgIDAxIEhQEbHAoMCgIEBxIGiAEAkQEBCgsKAwQHARIEiAEIIgoMCgQEBwIAEgSJAQQZCg8KBQQHAgAEEgaJAQSIASQKDQoFBAcCAAYSBIkBBAgKDQoFBAcCAAESBIkBCRQKDQoFBAcCAAMSBIkBFxgKDgoEBAcIABIGigEEjQEFCg0KBQQHCAABEgSKAQoTCgwKBAQHAgESBIsBCB4KDQoFBAcCAQYSBIsBCBEKDQoFBAcCAQESBIsBEhkKDQoFBAcCAQMSBIsBHB0KDAoEBAcCAhIEjAEIIgoNCgUEBwICBRIEjAEIDAoNCgUEBwICARIEjAENHQoNCgUEBwICAxIEjAEgIQqmAQoEBAcCAxIEkAEEHBqXASBGb3IgZXZlbnRzIHdoaWNoIGNhbiBiZSBjb25maWd1cmVkIG9uIGEgcGFydGljdWxhciBjb21wb25lbnQgdGhpcyBpZCBjYW4gYmUgdXNlZCB0byBpZGVudGlmeSB0aGUgY29tcG9uZW50DQogRm9yIGUuZy4gZm9yIGV2ZW50cyBvZiB0aGUgdHJhbnNjZWl2ZXJzDQoKDwoFBAcCAwQSBpABBI0BBQoNCgUEBwIDBhIEkAEECAoNCgUEBwIDARIEkAEJFwoNCgUEBwIDAxIEkAEaGwoMCgIECBIGkwEAngEBCgsKAwQIARIEkwEIIwoOCgQECAQAEgaUAQSaAQUKDQoFBAgEAAESBJQBCQ8KDgoGBAgEAAIAEgSVAQgdCg8KBwQIBAACAAESBJUBCBgKDwoHBAgEAAIAAhIElQEbHAoOCgYECAQAAgESBJYBCBsKDwoHBAgEAAIBARIElgEIFgoPCgcECAQAAgECEgSWARkaCg4KBgQIBAACAhIElwEIGwoPCgcECAQAAgIBEgSXAQgWCg8KBwQIBAACAgISBJcBGRoKDgoGBAgEAAIDEgSYAQgbCg8KBwQIBAACAwESBJgBCBYKDwoHBAgEAAIDAhIEmAEZGgoOCgYECAQAAgQSBJkBCB8KDwoHBAgEAAIEARIEmQEIGgoPCgcECAQAAgQCEgSZAR0eCgwKBAQIAgASBJsBBBYKDwoFBAgCAAQSBpsBBJoBBQoNCgUECAIABhIEmwEECgoNCgUECAIAARIEmwELEQoNCgUECAIAAxIEmwEUFQoMCgQECAIBEgScAQQWCg8KBQQIAgEEEgacAQSbARYKDQoFBAgCAQYSBJwBBAoKDQoFBAgCAQESBJwBCxEKDQoFBAgCAQMSBJwBFBUKDAoEBAgCAhIEnQEEHQoPCgUECAICBBIGnQEEnAEWCg0KBQQIAgIFEgSdAQQKCg0KBQQIAgIBEgSdAQsYCg0KBQQIAgIDEgSdARscCgwKAgQJEgagAQClAQEKCwoDBAkBEgSgAQgVCgwKBAQJAgASBKEBBBkKDwoFBAkCAAQSBqEBBKABFwoNCgUECQIABhIEoQEECAoNCgUECQIAARIEoQEJFAoNCgUECQIAAxIEoQEXGAomCgQECQIBEgSjAQQcGhggdXVpZCBvZiB0aGUgY29tcG9uZW50DQoKDwoFBAkCAQQSBqMBBKEBGQoNCgUECQIBBhIEowEECAoNCgUECQIBARIEowEJFwoNCgUECQIBAxIEowEaGwoMCgQECQICEgSkAQQeCg8KBQQJAgIEEgakAQSjARwKDQoFBAkCAgUSBKQBBAoKDQoFBAkCAgESBKQBCxkKDQoFBAkCAgMSBKQBHB0KgwIKAgQKEgarAQCzAQEy9AEgVGhlIEV2ZW50cyBhcmUgY29udmV5ZWQgdG8gZXh0ZXJuYWwgc3lzdGVtcyBlaXRoZXIgYnkgc3VibWl0dGluZyB0aGVtIG9uIGEgbWVzc2FnZSBidXMgb3IgdXNpbmcgZ1JQQyBzZXJ2ZXIgc3RyZWFtaW5nLg0KIFRoZSBtZXNzYWdlIGJ1cyB0b3BpYyB0byB3aGljaCBhcmUgRXZlbnRzIGFyZSBzdWJtaXR0ZWQgd291bGQgYmUgY29uZmlndXJlZCBhcyBzdGFydHVwDQogY29uZmlndXJhdGlvbiBvZiB0aGUgY29tcG9uZW50cw0KCgsKAwQKARIEqwEIDQoMCgQECgIAEgSsAQQlCg8KBQQKAgAEEgasAQSrAQ8KDQoFBAoCAAYSBKwBBBEKDQoFBAoCAAESBKwBEiAKDQoFBAoCAAMSBKwBIyQKDAoEBAoCARIErQEEGgoPCgUECgIBBBIGrQEErAElCg0KBQQKAgEGEgStAQQMCg0KBQQKAgEBEgStAQ0VCg0KBQQKAgEDEgStARgZCgwKBAQKAgISBK4BBCwKDwoFBAoCAgQSBq4BBK0BGgoNCgUECgICBhIErgEEHQoNCgUECgICARIErgEeJwoNCgUECgICAxIErgEqKwo8CgQECgIDEgSwAQQsGi4gT3B0aW9uYWwgdGhyZXNob2xkIGluZm9ybWF0aW9uIGZvciBhbiBldmVudA0KCg8KBQQKAgMEEgawAQSuASwKDQoFBAoCAwYSBLABBBgKDQoFBAoCAwESBLABGScKDQoFBAoCAwMSBLABKisKOAoEBAoCBBIEsgEEGBoqIEFueSBhZGRpdGlvbmFsIGluZm8gcmVnYXJkaW5nIHRoZSBldmVudA0KCg8KBQQKAgQEEgayAQSwASwKDQoFBAoCBAUSBLIBBAoKDQoFBAoCBAESBLIBCxMKDQoFBAoCBAMSBLIBFhcKDAoCBgASBrUBAMEBAQoLCgMGAAESBLUBCCUKQAoEBgACABIEuAEEOxoyIExpc3QgdGhlIHN1cHBvcnRlZCBldmVudHMgZm9yIHRoZSBwYXNzZWQgZGV2aWNlDQoKDQoFBgACAAESBLgBCBIKDQoFBgACAAISBLgBEx0KDQoFBgACAAMSBLgBJzkK8AEKBAYAAgESBL0BBGMa4QEgVXBkYXRlcyB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgbGlzdCBvZiBldmVudHMgaW4gdGhlIHJlcXVlc3QNCiBUaGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgZGV2aWNlIGlzIHRvIHJlcG9ydCBhbGwgdGhlIHN1cHBvcnRlZCBldmVudHMNCiBUaGlzIGNvbmZpZ3VyYXRpb24gaXMgcGVyc2lzdGVkIGFjcm9zcyByZWJvb3RzIG9mIHRoZSBkZXZpY2Ugb3IgdGhlIGRldmljZSBtYW5hZ2VyDQoKDQoFBgACAQESBL0BCCEKDQoFBgACAQISBL0BIjwKDQoFBgACAQMSBL0BRmEKPAoEBgACAhIEwAEEQhouIEluaXRpYXRlIHRoZSBzZXJ2ZXIgc3RyZWFtaW5nIG9mIHRoZSBldmVudHMNCgoNCgUGAAICARIEwAEIFAoNCgUGAAICAhIEwAEVKgoNCgUGAAICBhIEwAE0OgoNCgUGAAICAxIEwAE7QGIGcHJvdG8zCvmYAQofZG1pL2h3X21hbmFnZW1lbnRfc2VydmljZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90bxoMZG1pL2h3LnByb3RvGhtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8iRgoYUGh5c2ljYWxJbnZlbnRvcnlSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQisQIKGVBoeXNpY2FsSW52ZW50b3J5UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj0KBnJlYXNvbhgCIAEoDjIlLmRtaS5QaHlzaWNhbEludmVudG9yeVJlc3BvbnNlLlJlYXNvblIGcmVhc29uEisKCWludmVudG9yeRgDIAEoCzINLmRtaS5IYXJkd2FyZVIJaW52ZW50b3J5EiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCJeCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAyKgAQoZSFdDb21wb25lbnRJbmZvR2V0UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUiywIKGkhXQ29tcG9uZW50SW5mb0dldFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI+CgZyZWFzb24YAiABKA4yJi5kbWkuSFdDb21wb25lbnRJbmZvR2V0UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SLAoJY29tcG9uZW50GAMgASgLMg4uZG1pLkNvbXBvbmVudFIJY29tcG9uZW50EiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCJ1CgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESFQoRVU5LTk9XTl9DT01QT05FTlQQAhISCg5JTlRFUk5BTF9FUlJPUhADEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAEItQBChlIV0NvbXBvbmVudEluZm9TZXRSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZRIyCgdjaGFuZ2VzGAQgASgLMhguZG1pLk1vZGlmaWFibGVDb21wb25lbnRSB2NoYW5nZXMixwIKGkhXQ29tcG9uZW50SW5mb1NldFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI+CgZyZWFzb24YAiABKA4yJi5kbWkuSFdDb21wb25lbnRJbmZvU2V0UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsIp4BCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESFQoRVU5LTk9XTl9DT01QT05FTlQQAhISCg5JTlZBTElEX1BBUkFNUxADEhIKDklOVEVSTkFMX0VSUk9SEAQSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAUSEwoPU0VUX1VOU1VQUE9SVEVEEAYikQMKG1N0YXJ0TWFuYWdpbmdEZXZpY2VSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPwoGcmVhc29uGAIgASgOMicuZG1pLlN0YXJ0TWFuYWdpbmdEZXZpY2VSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIqCgtkZXZpY2VfdXVpZBgDIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCK6AQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABIaChZERVZJQ0VfQUxSRUFEWV9NQU5BR0VEEAESIQodT1BFUkFUSU9OX0FMUkVBRFlfSU5fUFJPR1JFU1MQAhISCg5JTlZBTElEX1BBUkFNUxADEhIKDklOVEVSTkFMX0VSUk9SEAQSGgoWQVVUSEVOVElDQVRJT05fRkFJTFVSRRAFEhcKE0lOQ09NUEFUSUJMRV9ERVZJQ0UQBiIvChlTdG9wTWFuYWdpbmdEZXZpY2VSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWUi8gEKGlN0b3BNYW5hZ2luZ0RldmljZVJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI+CgZyZWFzb24YAiABKA4yJi5kbWkuU3RvcE1hbmFnaW5nRGV2aWNlUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsIkoKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAiJtChFNYW5hZ2VkRGV2aWNlSW5mbxIsCgRpbmZvGAEgASgLMhguZG1pLk1vZGlmaWFibGVDb21wb25lbnRSBGluZm8SKgoLZGV2aWNlX3V1aWQYAiABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCLfAQoWTWFuYWdlZERldmljZXNSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSOgoGcmVhc29uGAIgASgOMiIuZG1pLk1hbmFnZWREZXZpY2VzUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SMAoHZGV2aWNlcxgDIAMoCzIWLmRtaS5NYW5hZ2VkRGV2aWNlSW5mb1IHZGV2aWNlcyIyCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDklOVEVSTkFMX0VSUk9SEAEinQEKGVNldExvZ2dpbmdFbmRwb2ludFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIpChBsb2dnaW5nX2VuZHBvaW50GAIgASgJUg9sb2dnaW5nRW5kcG9pbnQSKQoQbG9nZ2luZ19wcm90b2NvbBgDIAEoCVIPbG9nZ2luZ1Byb3RvY29sIuECChlTZXRSZW1vdGVFbmRwb2ludFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI9CgZyZWFzb24YAiABKA4yJS5kbWkuU2V0UmVtb3RlRW5kcG9pbnRSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwiugEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhoKFkxPR0dJTkdfRU5EUE9JTlRfRVJST1IQAxIjCh9MT0dHSU5HX0VORFBPSU5UX1BST1RPQ09MX0VSUk9SEAQSGQoVTVNHQlVTX0VORFBPSU5UX0VSUk9SEAUSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAYi3AIKGkdldExvZ2dpbmdFbmRwb2ludFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI+CgZyZWFzb24YAiABKA4yJi5kbWkuR2V0TG9nZ2luZ0VuZHBvaW50UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SKQoQbG9nZ2luZ19lbmRwb2ludBgDIAEoCVIPbG9nZ2luZ0VuZHBvaW50EikKEGxvZ2dpbmdfcHJvdG9jb2wYBCABKAlSD2xvZ2dpbmdQcm90b2NvbBIjCg1yZWFzb25fZGV0YWlsGAUgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMiQwoYU2V0TXNnQnVzRW5kcG9pbnRSZXF1ZXN0EicKD21zZ2J1c19lbmRwb2ludBgBIAEoCVIObXNnYnVzRW5kcG9pbnQimQIKGUdldE1zZ0J1c0VuZHBvaW50UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj0KBnJlYXNvbhgCIAEoDjIlLmRtaS5HZXRNc2dCdXNFbmRwb2ludFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEicKD21zZ2J1c19lbmRwb2ludBgDIAEoCVIObXNnYnVzRW5kcG9pbnQSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIkoKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOSU5URVJOQUxfRVJST1IQARIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAiJZChBFbnRpdGllc0xvZ0xldmVsEikKCGxvZ0xldmVsGAEgASgOMg0uZG1pLkxvZ0xldmVsUghsb2dMZXZlbBIaCghlbnRpdGllcxgCIAMoCVIIZW50aXRpZXMidQoSU2V0TG9nTGV2ZWxSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMwoJbG9nbGV2ZWxzGAIgAygLMhUuZG1pLkVudGl0aWVzTG9nTGV2ZWxSCWxvZ2xldmVscyK8AgoTU2V0TG9nTGV2ZWxSZXNwb25zZRIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEiMKBnN0YXR1cxgCIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI3CgZyZWFzb24YAyABKA4yHy5kbWkuU2V0TG9nTGV2ZWxSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwidgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSVU5LTk9XTl9MT0dfRU5USVRZEAMSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAQiXAoSR2V0TG9nTGV2ZWxSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSGgoIZW50aXRpZXMYAiADKAlSCGVudGl0aWVzIvECChNHZXRMb2dMZXZlbFJlc3BvbnNlEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMwoJbG9nTGV2ZWxzGAIgAygLMhUuZG1pLkVudGl0aWVzTG9nTGV2ZWxSCWxvZ0xldmVscxIjCgZzdGF0dXMYAyABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSNwoGcmVhc29uGAQgASgOMh8uZG1pLkdldExvZ0xldmVsUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgFIAEoCVIMcmVhc29uRGV0YWlsInYKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKElVOS05PV05fTE9HX0VOVElUWRADEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAEIkgKGkdldExvZ2dhYmxlRW50aXRpZXNSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQiPAoJSGVhcnRiZWF0Ei8KE2hlYXJ0YmVhdF9zaWduYXR1cmUYASABKAdSEmhlYXJ0YmVhdFNpZ25hdHVyZSJBChNSZWJvb3REZXZpY2VSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQilQIKFFJlYm9vdERldmljZVJlc3BvbnNlEiMKBnN0YXR1cxgDIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI4CgZyZWFzb24YBCABKA4yIC5kbWkuUmVib290RGV2aWNlUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgFIAEoCVIMcmVhc29uRGV0YWlsInkKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKEkRFVklDRV9VTlJFQUNIQUJMRRADEhkKFURFVklDRV9JTl9XUk9OR19TVEFURRAEMq4JChlOYXRpdmVIV01hbmFnZW1lbnRTZXJ2aWNlElMKE1N0YXJ0TWFuYWdpbmdEZXZpY2USGC5kbWkuTW9kaWZpYWJsZUNvbXBvbmVudBogLmRtaS5TdGFydE1hbmFnaW5nRGV2aWNlUmVzcG9uc2UwARJVChJTdG9wTWFuYWdpbmdEZXZpY2USHi5kbWkuU3RvcE1hbmFnaW5nRGV2aWNlUmVxdWVzdBofLmRtaS5TdG9wTWFuYWdpbmdEZXZpY2VSZXNwb25zZRJIChFHZXRNYW5hZ2VkRGV2aWNlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRobLmRtaS5NYW5hZ2VkRGV2aWNlc1Jlc3BvbnNlElcKFEdldFBoeXNpY2FsSW52ZW50b3J5Eh0uZG1pLlBoeXNpY2FsSW52ZW50b3J5UmVxdWVzdBoeLmRtaS5QaHlzaWNhbEludmVudG9yeVJlc3BvbnNlMAESVwoSR2V0SFdDb21wb25lbnRJbmZvEh4uZG1pLkhXQ29tcG9uZW50SW5mb0dldFJlcXVlc3QaHy5kbWkuSFdDb21wb25lbnRJbmZvR2V0UmVzcG9uc2UwARJVChJTZXRIV0NvbXBvbmVudEluZm8SHi5kbWkuSFdDb21wb25lbnRJbmZvU2V0UmVxdWVzdBofLmRtaS5IV0NvbXBvbmVudEluZm9TZXRSZXNwb25zZRJUChJTZXRMb2dnaW5nRW5kcG9pbnQSHi5kbWkuU2V0TG9nZ2luZ0VuZHBvaW50UmVxdWVzdBoeLmRtaS5TZXRSZW1vdGVFbmRwb2ludFJlc3BvbnNlEkYKEkdldExvZ2dpbmdFbmRwb2ludBIPLmRtaS5IYXJkd2FyZUlEGh8uZG1pLkdldExvZ2dpbmdFbmRwb2ludFJlc3BvbnNlElIKEVNldE1zZ0J1c0VuZHBvaW50Eh0uZG1pLlNldE1zZ0J1c0VuZHBvaW50UmVxdWVzdBoeLmRtaS5TZXRSZW1vdGVFbmRwb2ludFJlc3BvbnNlEksKEUdldE1zZ0J1c0VuZHBvaW50EhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gh4uZG1pLkdldE1zZ0J1c0VuZHBvaW50UmVzcG9uc2USUAoTR2V0TG9nZ2FibGVFbnRpdGllcxIfLmRtaS5HZXRMb2dnYWJsZUVudGl0aWVzUmVxdWVzdBoYLmRtaS5HZXRMb2dMZXZlbFJlc3BvbnNlEkAKC1NldExvZ0xldmVsEhcuZG1pLlNldExvZ0xldmVsUmVxdWVzdBoYLmRtaS5TZXRMb2dMZXZlbFJlc3BvbnNlEkAKC0dldExvZ0xldmVsEhcuZG1pLkdldExvZ0xldmVsUmVxdWVzdBoYLmRtaS5HZXRMb2dMZXZlbFJlc3BvbnNlEjgKDkhlYXJ0YmVhdENoZWNrEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gg4uZG1pLkhlYXJ0YmVhdBJDCgxSZWJvb3REZXZpY2USGC5kbWkuUmVib290RGV2aWNlUmVxdWVzdBoZLmRtaS5SZWJvb3REZXZpY2VSZXNwb25zZUI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9k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BQYAAgsCEgSsAhQmCg0KBQYAAgsDEgSsAjBDCr4BCgQGAAIMEgSwAgRFGq8BIEdldHMgdGhlIGNvbmZpZ3VyZWQgbG9nIGxldmVsIGZvciBhIGNlcnRhaW4gZW50aXR5IG9uIGEgY2VydGFpbiBkZXZpY2UuDQogSWYgbm8gZW50aXR5IGlzIHNwZWNpZmllZCBpbiB0aGUgcmVxdWVzdCBhbGwgdGhlIGVudGl0aWVzIHdpdGggdGhlaXIgbG9nIGxldmVsIHNob3VsZCBiZSByZXR1cm5lZC4NCgoNCgUGAAIMARIEsAIIEwoNCgUGAAIMAhIEsAIUJgoNCgUGAAIMAxIEsAIwQwotCgQGAAINEgSzAgRCGh8gUGVyZm9ybXMgdGhlIGhlYXJ0YmVhdCBjaGVjaw0KCg0KBQYAAg0BEgSzAggWCg0KBQYAAg0CEgSzAhcsCg0KBQYAAg0DEgSzAjdACjIKBAYAAg4SBLYCBEgaJCBQZXJmb3JtcyB0aGUgcmVib290IG9mIHRoZSBkZXZpY2UNCgoNCgUGAAIOARIEtgIIFAoNCgUGAAIOAhIEtgIVKAoNCgUGAAIOAxIEtgIyRmIGcHJvdG8zCoNFCiFkbWkvaHdfbWV0cmljc19tZ210X3NlcnZpY2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8aDGRtaS9ody5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvIocBCgxNZXRyaWNDb25maWcSLQoJbWV0cmljX2lkGAEgASgOMhAuZG1pLk1ldHJpY05hbWVzUghtZXRyaWNJZBIjCg1pc19jb25maWd1cmVkGAIgASgIUgxpc0NvbmZpZ3VyZWQSIwoNcG9sbF9pbnRlcnZhbBgDIAEoDVIMcG9sbEludGVydmFsIjwKDU1ldHJpY3NDb25maWcSKwoHbWV0cmljcxgBIAMoCzIRLmRtaS5NZXRyaWNDb25maWdSB21ldHJpY3MipgIKE0xpc3RNZXRyaWNzUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjcKBnJlYXNvbhgCIAEoDjIfLmRtaS5MaXN0TWV0cmljc1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uEiwKB21ldHJpY3MYAyABKAsyEi5kbWkuTWV0cmljc0NvbmZpZ1IHbWV0cmljcxIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMisgEKG01ldHJpY3NDb25maWd1cmF0aW9uUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEi4KB2NoYW5nZXMYAiABKAsyEi5kbWkuTWV0cmljc0NvbmZpZ0gAUgdjaGFuZ2VzEioKEHJlc2V0X3RvX2RlZmF1bHQYAyABKAhIAFIOcmVzZXRUb0RlZmF1bHRCCwoJb3BlcmF0aW9uIr4CChxNZXRyaWNzQ29uZmlndXJhdGlvblJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxJACgZyZWFzb24YAiABKA4yKC5kbWkuTWV0cmljc0NvbmZpZ3VyYXRpb25SZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwikQEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEh0KGVBPTExfSU5URVJWQUxfVU5TVVBQT1JURUQQAxISCg5JTlZBTElEX01FVFJJQxAEEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAFIpUBCg5NZXRyaWNNZXRhRGF0YRIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUipQEKBk1ldHJpYxItCgltZXRyaWNfaWQYASABKA4yEC5kbWkuTWV0cmljTmFtZXNSCG1ldHJpY0lkEjwKD21ldHJpY19tZXRhZGF0YRgCIAEoCzITLmRtaS5NZXRyaWNNZXRhRGF0YVIObWV0cmljTWV0YWRhdGESLgoFdmFsdWUYAyABKAsyGC5kbWkuQ29tcG9uZW50U2Vuc29yRGF0YVIFdmFsdWUicwoQR2V0TWV0cmljUmVxdWVzdBIwCgltZXRhX2RhdGEYASABKAsyEy5kbWkuTWV0cmljTWV0YURhdGFSCG1ldGFEYXRhEi0KCW1ldHJpY19pZBgCIAEoDjIQLmRtaS5NZXRyaWNOYW1lc1IIbWV0cmljSWQixQIKEUdldE1ldHJpY1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI1CgZyZWFzb24YAiABKA4yHS5kbWkuR2V0TWV0cmljUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoGbWV0cmljGAMgASgLMgsuZG1pLk1ldHJpY1IGbWV0cmljEiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCKJAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhUKEVVOS05PV05fQ09NUE9ORU5UEAISEgoOSU5URVJOQUxfRVJST1IQAxISCg5JTlZBTElEX01FVFJJQxAEEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAFKtkFCgtNZXRyaWNOYW1lcxIZChVNRVRSSUNfTkFNRV9VTkRFRklORUQQABIUChBNRVRSSUNfRkFOX1NQRUVEEAESEwoPTUVUUklDX0NQVV9URU1QEGQSHwobTUVUUklDX0NQVV9VU0FHRV9QRVJDRU5UQUdFEGUSHAoXTUVUUklDX1RSQU5TQ0VJVkVSX1RFTVAQyAESHwoaTUVUUklDX1RSQU5TQ0VJVkVSX1ZPTFRBR0UQyQESHAoXTUVUUklDX1RSQU5TQ0VJVkVSX0JJQVMQygESIAobTUVUUklDX1RSQU5TQ0VJVkVSX1JYX1BPV0VSEMsBEiAKG01FVFJJQ19UUkFOU0NFSVZFUl9UWF9QT1dFUhDMARIiCh1NRVRSSUNfVFJBTlNDRUlWRVJfV0FWRUxFTkdUSBDNARIVChBNRVRSSUNfRElTS19URU1QEKwCEhkKFE1FVFJJQ19ESVNLX0NBUEFDSVRZEK0CEhYKEU1FVFJJQ19ESVNLX1VTQUdFEK4CEiEKHE1FVFJJQ19ESVNLX1VTQUdFX1BFUkNFTlRBR0UQrwISJgohTUVUUklDX0RJU0tfUkVBRF9XUklURV9QRVJDRU5UQUdFELACEigKI01FVFJJQ19ESVNLX0ZBVUxUWV9DRUxMU19QRVJDRU5UQUdFELECEhQKD01FVFJJQ19SQU1fVEVNUBCQAxIYChNNRVRSSUNfUkFNX0NBUEFDSVRZEJEDEhUKEE1FVFJJQ19SQU1fVVNBR0UQkgMSIAobTUVUUklDX1JBTV9VU0FHRV9QRVJDRU5UQUdFEJMDEhUKEE1FVFJJQ19QT1dFUl9NQVgQ9AMSFwoSTUVUUklDX1BPV0VSX1VTQUdFEPUDEiIKHU1FVFJJQ19QT1dFUl9VU0FHRV9QRVJDRU5UQUdFEPYDEiIKHU1FVFJJQ19JTk5FUl9TVVJST1VORElOR19URU1QENgEMrECCh5OYXRpdmVNZXRyaWNzTWFuYWdlbWVudFNlcnZpY2USOAoLTGlzdE1ldHJpY3MSDy5kbWkuSGFyZHdhcmVJRBoYLmRtaS5MaXN0TWV0cmljc1Jlc3BvbnNlEmEKGlVwZGF0ZU1ldHJpY3NDb25maWd1cmF0aW9uEiAuZG1pLk1ldHJpY3NDb25maWd1cmF0aW9uUmVxdWVzdBohLmRtaS5NZXRyaWNzQ29uZmlndXJhdGlvblJlc3BvbnNlEjoKCUdldE1ldHJpYxIVLmRtaS5HZXRNZXRyaWNSZXF1ZXN0GhYuZG1pLkdldE1ldHJpY1Jlc3BvbnNlEjYKDVN0cmVhbU1ldHJpY3MSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaCy5kbWkuTWV0cmljMAFCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSuEtCgcSBQAAnwEBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgIDARIDBgAWCgkKAgMCEgMHACUK2AEKAgUAEgQOADUBMo4BIFRoZSBtb2RlbCB1c2VkIHRvIHJlcHJlc2VudCB0aGUgZXZlbnQgZGF0YSBvbiB0aGUgU2Vuc29yRGF0YSBvZiBh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ciB0aGUgZGV2aWNlIG1hbmFnZXINCgoNCgUGAAIBARIEmAEIIgoNCgUGAAIBAhIEmAEjPgoNCgUGAAIBAxIEmAFIZAo3CgQGAAICEgSbAQQ/GikgR2V0IHRoZSBpbnN0YW50ZW5vdXMgdmFsdWUgb2YgYSBtZXRyaWMNCgoNCgUGAAICARIEmwEIEQoNCgUGAAICAhIEmwESIgoNCgUGAAICAxIEmwEsPQo9CgQGAAIDEgSeAQREGi8gSW5pdGlhdGUgdGhlIHNlcnZlciBzdHJlYW1pbmcgb2YgdGhlIG1ldHJpY3MNCgoNCgUGAAIDARIEngEIFQoNCgUGAAIDAhIEngEWKwoNCgUGAAIDBhIEngE1OwoNCgUGAAIDAxIEngE8QmIGcHJvdG8zCvkfChJkbWkvc3dfaW1hZ2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8iRwoMSW1hZ2VWZXJzaW9uEh0KCmltYWdlX25hbWUYASABKAlSCWltYWdlTmFtZRIYCgd2ZXJzaW9uGAIgASgJUgd2ZXJzaW9uIqgBChBJbWFnZUluZm9ybWF0aW9uEicKBWltYWdlGAEgASgLMhEuZG1pLkltYWdlVmVyc2lvblIFaW1hZ2USMAoUaW1hZ2VfaW5zdGFsbF9zY3JpcHQYAiABKAlSEmltYWdlSW5zdGFsbFNjcmlwdBIbCglpbWFnZV91cmwYAyABKAlSCGltYWdlVXJsEhwKCXNoYTI1NnN1bRgFIAEoCVIJc2hhMjU2c3VtIpQFCgtJbWFnZVN0YXR1cxIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSLwoGcmVhc29uGAIgASgOMhcuZG1pLkltYWdlU3RhdHVzLlJlYXNvblIGcmVhc29uEjEKBXN0YXRlGAMgASgOMhsuZG1pLkltYWdlU3RhdHVzLkltYWdlU3RhdGVSBXN0YXRlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIjCg1yZWFzb25fZGV0YWlsGAUgASgJUgxyZWFzb25EZXRhaWwi0AEKCkltYWdlU3RhdGUSEwoPVU5ERUZJTkVEX1NUQVRFEAASEQoNQ09QWUlOR19JTUFHRRABEhQKEElOU1RBTExJTkdfSU1BR0UQAhIUChBDT01N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ZXJzaW9uSW5mb3JtYXRpb24SOgoPYWN0aXZlX3ZlcnNpb25zGAEgAygLMhEuZG1pLkltYWdlVmVyc2lvblIOYWN0aXZlVmVyc2lvbnMSPAoQc3RhbmRieV92ZXJzaW9ucxgCIAMoCzIRLmRtaS5JbWFnZVZlcnNpb25SD3N0YW5kYnlWZXJzaW9ucyLRAgolR2V0U29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb25SZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSSQoGcmVhc29uGAIgASgOMjEuZG1pLkdldFNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SMwoEaW5mbxgDIAEoCzIfLmRtaS5Tb2Z0d2FyZVZlcnNpb25JbmZvcm1hdGlvblIEaW5mbxIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMieAoURG93bmxvYWRJbWFnZVJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBI0CgppbWFnZV9pbmZvGAIgASgLMhUuZG1pLkltYWdlSW5mb3JtYXRpb25SCWltYWdlSW5mbyJaCg1Db25maWdSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSHQoKY29uZmlnX3VybBgCIAEoCVIJY29uZmlnVXJsIsECCg5Db25maWdSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSMgoGcmVhc29uGAIgASgOMhouZG1pLkNvbmZpZ1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCKwAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISGQoVRVJST1JfRkVUQ0hJTkdfQ09ORklHEAMSEgoOSU5WQUxJRF9DT05GSUcQBBIhCh1PUEVSQVRJT05fQUxSRUFEWV9JTl9QUk9HUkVTUxAFEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAGIkYKGFN0YXJ0dXBDb25maWdJbmZvUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkIr0CChlTdGFydHVwQ29uZmlnSW5mb1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI9CgZyZWFzb24YAiABKA4yJS5kbWkuU3RhcnR1cENvbmZpZ0luZm9SZXNwb25zZS5SZWFzb25SBnJlYXNvbhIdCgpjb25maWdfdXJsGAMgASgJUgljb25maWdVcmwSGAoHdmVyc2lvbhgEIAEoCVIHdmVyc2lvbhIjCg1yZWFzb25fZGV0YWlsGAUgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMiZwoWVXBsb2FkRGVidWdJbmZvUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEiEKDGxvY2F0aW9uX3VybBgDIAEoCVILbG9jYXRpb25VcmwiwwQKFVVwbG9hZERlYnVnSW5mb1N0YXR1cxIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEj8KBnN0YXR1cxgCIAEoDjInLmRtaS5VcGxvYWREZWJ1Z0luZm9TdGF0dXMuVXBsb2FkU3RhdHVzUgZzdGF0dXMSKQoQcGVyY2VudF91cGxvYWRlZBgDIAEoBVIPcGVyY2VudFVwbG9hZGVkEjkKBnJlYXNvbhgEIAEoDjIhLmRtaS5VcGxvYWREZWJ1Z0luZm9TdGF0dXMuUmVhc29uUgZyZWFzb24SIQoMbG9jYXRpb25fdXJsGAUgASgJUgtsb2NhdGlvblVybBIbCglmaWxlX25hbWUYBiABKAlSCGZpbGVOYW1lIlUKDFVwbG9hZFN0YXR1cxIbChdVTkRFRklORURfVVBMT0FEX1NUQVRVUxAAEgwKCENPTVBMRVRFEAESDwoLSU5fUFJPR1JFU1MQAhIJCgVFUlJPUhADIr8BCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAxIfChtSRU1PVEVfTE9DQVRJT05fVU5SRUFDSEFCTEUQBBIlCiFSRU1PVEVfTE9DQVRJT05fUEVSTUlTU0lPTl9ERU5JRUQQBRIXChNFUlJPUl9EVVJJTkdfVVBMT0FEEAYynAQKH05hdGl2ZVNvZnR3YXJlTWFuYWdlbWVudFNlcnZpY2USUQoSR2V0U29mdHdhcmVWZXJzaW9uEg8uZG1pLkhhcmR3YXJlSUQaKi5kbWkuR2V0U29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb25SZXNwb25zZRI+Cg1Eb3dubG9hZEltYWdlEhkuZG1pLkRvd25sb2FkSW1hZ2VSZXF1ZXN0GhAuZG1pLkltYWdlU3RhdHVzMAESNAoNQWN0aXZhdGVJbWFnZRIPLmRtaS5IYXJkd2FyZUlEGhAuZG1pLkltYWdlU3RhdHVzMAESOwoUUmV2ZXJ0VG9TdGFuZGJ5SW1hZ2USDy5kbWkuSGFyZHdhcmVJRBoQLmRtaS5JbWFnZVN0YXR1czABEkcKGlVwZGF0ZVN0YXJ0dXBDb25maWd1cmF0aW9uEhIuZG1pLkNvbmZpZ1JlcXVlc3QaEy5kbWkuQ29uZmlnUmVzcG9uc2UwARJcChtHZXRTdGFydHVwQ29uZmlndXJhdGlvbkluZm8SHS5kbWkuU3RhcnR1cENvbmZpZ0luZm9SZXF1ZXN0Gh4uZG1pLlN0YXJ0dXBDb25maWdJbmZvUmVzcG9uc2USTAoPVXBsb2FkRGVidWdJbmZvEhsuZG1pLlVwbG9hZERlYnVnSW5mb1JlcXVlc3QaGi5kbWkuVXBsb2FkRGVidWdJbmZvU3RhdHVzMAFCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1p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