YQ0NCgAAAABFGnxjux4AAOMAAAAAAAAAAAAAAAAAAAAACQAAAEAAAABzWAEAAGQAZAFsAFoAZABkAWwBWgFkAGQBbAJaAmQAZAFsA1oDZABkAWwEWgRkAGQCbAVtBloGbQdaBwEAZABkA2wIbQlaCW0KWgoBAGQAZARsC20MWgwBAGQFZAZsDW0OWg5tD1oPbRBaEAEAZQCgEWUSoQFaE2UUZQOgFaEAgwFaFmUXZQNkB2QBgwNaGGUZZAicAWQJZAqEBFoaZRtkCJwBZAtkDIQEWhxlG2QInAFkDWQOhARaHWUbZAicAWQPZBCEBFoeZwBkEaIBWh9lA6AgZBKhAWQBdQFy4mUfoCFkEqEBAQBkIGUbZRllBGoiZRsZAGUEaiJlGxkAZRllBGoiZRsZAGUKZBScB2QVZBaEBVojZRtkCJwBZBdkGIQEWiRlG2QInAFkGWQahARaJWUbZAicAWQbZByEBFomZRtlBGonZRtlG2YCGQBkHZwCZB5kH4QEWihkAVMAKSHpAAAAAE4pAtoYSW52YWxpZFNjaGVtZUNvbWJpbmF0aW9u2hdVc2VySW5zdGFsbGF0aW9uSW52YWxpZCkC2gtTQ0hFTUVfS0VZU9oGU2NoZW1lKQHaGHJ1bm5pbmdfdW5kZXJfdmlydHVhbGVudukBAAAAKQPaC2NoYW5nZV9yb2902hdnZXRfbWFqb3JfbWlub3JfdmVyc2lvbtoQaXNfb3N4X2ZyYW1ld29ya1oUZ2V0X3ByZWZlcnJlZF9zY2hlbWUpAdoGcmV0dXJuYwAAAAAAAAAAAAAAAAAAAAACAAAAQwAAAHMWAAAAZAF0AHYAbxR0AYMADABvFHQCgwBTACkCYbADAABDaGVjayBmb3IgQXBwbGUncyBgYG9zeF9mcmFtZXdvcmtfbGlicmFyeWBgIHNjaGVtZS4KCiAgICBQeXRob24gZGlzdHJpYnV0ZWQgYnkgQXBwbGUncyBDb21tYW5kIExpbmUgVG9vbHMgaGFzIHRoaXMgc3BlY2lhbCBzY2hlbWUKICAgIHRoYXQncyB1c2VkIHdoZW46CgogICAgKiBUaGlzIGlzIGEgZnJhbWV3b3JrIGJ1aWxkLgogICAgKiBXZSBhcmUgaW5zdGFsbGluZyBpbnRvIHRoZSBzeXN0ZW0gcHJlZml4LgoKICAgIFRoaXMgZG9lcyBub3QgYWNjb3VudCBmb3IgYGBwaXAgaW5zdGFsbCAtLXByZWZpeGBgIChhbHNvIG1lYW5zIHdlJ3JlIG5vdAogICAgaW5zdGFsbGluZyB0byB0aGUgc3lzdGVtIHByZWZpeCksIHdoaWNoIHNob3VsZCB1c2UgYGBwb3NpeF9wcmVmaXhgYCwgYnV0CiAgICBsb2dpYyBoZXJlIG1lYW5zIGBgX2luZmVyX3ByZWZpeCgpYGAgb3V0cHV0cyBgYG9zeF9mcmFtZXdvcmtfbGlicmFyeWBgLiBCdXQKICAgIHNpbmNlIGBgcHJlZml4YGAgaXMgbm90IGF2YWlsYWJsZSBmb3IgYGBzeXNjb25maWcuZ2V0X2RlZmF1bHRfc2NoZW1lKClgYCwKICAgIHdoaWNoIGlzIHRoZSBzdGRsaWIgcmVwbGFjZW1lbnQgZm9yIGBgX2luZmVyX3ByZWZpeCgpYGAsIHByZXN1bWFibHkgQXBwbGUKICAgIHdvdWxkbid0IGJlIGFibGUgdG8gbWFnaWNhbGx5IHN3aXRjaCBiZXR3ZWVuIGBgb3N4X2ZyYW1ld29ya19saWJyYXJ5YGAgYW5kCiAgICBgYHBvc2l4X3ByZWZpeGBgLiBgYF9pbmZlcl9wcmVmaXgoKWBgIHJldHVybmluZyBgYG9zeF9mcmFtZXdvcmtfbGlicmFyeWBgCiAgICBtZWFucyBpdHMgYmVoYXZpb3IgaXMgY29uc2lzdGVudCB3aGV0aGVyIHdlIHVzZSB0aGUgc3RkbGliIGltcGxlbWVudGF0aW9uCiAgICBvciBvdXIgb3duLCBhbmQgd2UgZGVhbCB3aXRoIHRoaXMgc3BlY2lhbCBjYXNlIGluIGBgZ2V0X3NjaGVtZSgpYGAgaW5zdGVhZC4KICAgINoVb3N4X2ZyYW1ld29ya19saWJyYXJ5KQPaEl9BVkFJTEFCTEVfU0NIRU1FU3IGAAAAcgoAAACpAHIOAAAAcg4AAAD6Xy9ob21lL2huaS9Ub3BtZXRhbFNlLURQUy92ZW52L2xpYi9weXRob24zLjkvc2l0ZS1wYWNrYWdlcy9waXAvX2ludGVybmFsL2xvY2F0aW9ucy9fc3lzY29uZmlnLnB52iBfc2hvdWxkX3VzZV9vc3hfZnJhbWV3b3JrX3ByZWZpeB0AAABzCgAAAAAUCAEG/wICBP1yEAAAAGMAAAAAAAAAAAAAAAACAAAAAwAAAEMAAABzdgAAAHQAcgx0AGQBgwFTAHQBgwByFmQCUwB0AmoDagSbAGQDdAVqBJsAnQN9AHwAdAZ2AHI2fABTAHQCagNqBHQGdgBySnQCagNqBFMAdAVqBJsAZASdAn0BfAF0BnYAcmJ8AVMAdAVqBHQGdgBycnQFagRTAGQFUwApBmEhAgAAVHJ5IHRvIGZpbmQgYSBwcmVmaXggc2NoZW1lIGZvciB0aGUgY3VycmVudCBwbGF0Zm9ybS4KCiAgICBUaGlzIHRyaWVzOgoKICAgICogQSBzcGVjaWFsIGBgb3N4X2ZyYW1ld29ya19saWJyYXJ5YGAgZm9yIFB5dGhvbiBkaXN0cmlidXRlZCBieSBBcHBsZSdzCiAgICAgIENvbW1hbmQgTGluZSBUb29scywgd2hlbiBub3QgcnVubmluZyBpbiBhIHZpcnR1YWwgZW52aXJvbm1lbnQuCiAgICAqIEltcGxlbWVudGF0aW9uICsgT1MsIHVzZWQgYnkgUHlQeSBvbiBXaW5kb3dzIChgYHB5cHlfbnRgYCkuCiAgICAqIEltcGxlbWVudGF0aW9uIHdpdGhvdXQgT1MsIHVzZWQgYnkgUHlQeSBvbiBQT1NJWCAoYGBweXB5YGApLgogICAgKiBPUyArICJwcmVmaXgiLCB1c2VkIGJ5IENQeXRob24gb24gUE9TSVggKGBgcG9zaXhfcHJlZml4YGApLgogICAgKiBKdXN0IHRoZSBPUyBuYW1lLCB1c2VkIGJ5IENQeXRob24gb24gV2luZG93cyAoYGBudGBgKS4KCiAgICBJZiBub25lIG9mIHRoZSBhYm92ZSB3b3JrcywgZmFsbCBiYWNrIHRvIGBgcG9zaXhfcHJlZml4YGAuCiAgICDaBnByZWZpeHIMAAAA2gFf2gdfcHJlZml42gxwb3NpeF9wcmVmaXgpB9oVX1BSRUZFUlJFRF9TQ0hFTUVfQVBJchAAAADaA3N5c9oOaW1wbGVtZW50YXRpb27aBG5hbWXaAm9zcg0AAAApAloXaW1wbGVtZW50YXRpb25fc3VmZml4ZWTaCHN1ZmZpeGVkcg4AAAByDgAAAHIPAAAA2g1faW5mZXJfcHJlZml4NwAAAHMeAAAAAA4EAQgBBgEEARQBCAEEAQwBCAEMAQgBBAEKAQYBchsAAABjAAAAAAAAAAAAAAAAAQAAAAIAAABDAAAAc0gAAAB0AHIMdABkAYMBUwB0AYMAch50AoMAcx5kAn0Abgx0A2oEmwBkA50CfQB8AHQFdgByNnwAUwBkBHQFdgFyRHQGgwCCAWQEUwApBXozVHJ5IHRvIGZpbmQgYSB1c2VyIHNjaGVtZSBmb3IgdGhlIGN1cnJlbnQgcGxhdGZvcm0u2gR1c2Vy2hJvc3hfZnJhbWV3b3JrX3VzZXLaBV91c2Vy2gpwb3NpeF91c2VyKQdyFQAAAHIKAAAAcgYAAAByGQAAAHIYAAAAcg0AAAByAwAAAKkBchoAAAByDgAAAHIOAAAAcg8AAADaC19pbmZlcl91c2VyVgAAAHMUAAAAAAIEAQgBDAEGAgwBCAEEAQgBBgFyIQAAAGMAAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzKAAAAHQAcgx0AGQBgwFTAHQBagKbAGQCnQJ9AHwAdAN2AHIkfABTAGQDUwApBHosVHJ5IHRvIGZpbmQgYSBob21lIGZvciB0aGUgY3VycmVudCBwbGF0Zm9ybS7aBGhvbWXaBV9ob21l2gpwb3NpeF9ob21lKQRyFQAAAHIZAAAAchgAAAByDQAAAHIgAAAAcg4AAAByDgAAAHIPAAAA2gtfaW5mZXJfaG9tZWUAAABzDAAAAAACBAEIAQwBCAEEAXIlAAAAKQbaDmluc3RhbGxlZF9iYXNl2gRiYXNl2hJpbnN0YWxsZWRfcGxhdGJhc2XaCHBsYXRiYXNlchEAAADaC2V4ZWNfcHJlZml42gh1c2VyYmFzZUYpB9oJZGlzdF9uYW1lchwAAAByIgAAANoEcm9vdNoIaXNvbGF0ZWRyEQAAAHILAAAAYwYAAAAAAAAAAAAAAA4AAAAHAAAAAwAAAHNeAQAAfAFyEogBchJ0AGQBZAKDAoIBiAByJIgBciR0AGQDZAKDAoIBiABkBHUBcjR0AYMAfQZuEnwBckB0AoMAfQZuBnQDgwB9BogBZAR1AXJafAZkBWsCclpkBn0GiABkBHUBcnaHAGYBZAdkCIQIdAREAIMBfQduIIgBZAR1AXKShwFmAWQJZAiECHQERACDAX0HbgRpAH0HdAVqBnwGfAdkCo0CfQh0B4MAcvB8AXK+fAegCGQLdAlqCqECfQluDnwHoAhkDHQJagqhAn0JZA10C4MAmwCdAn0KdAxqDaAOfAlkDmQPfAqhBHwIZA48AG4IfABz+GQQfQB0D3wIZBEZAHwIZBIZAHQMag2gDnwIZA4ZAHwAoQJ8CGQTGQB8CGQUGQBkFY0FfQt8A2QEdQGQAXJadBBEAF0ifQx0EXwDdBJ8C3wMgwKDAn0NdBN8C3wMfA2DAwEAkAFxNnwLUwApFmFcAgAACiAgICBHZXQgdGhlICJzY2hlbWUiIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGlucHV0IHBhcmFtZXRlcnMuCgogICAgOnBhcmFtIGRpc3RfbmFtZTogdGhlIG5hbWUgb2YgdGhlIHBhY2thZ2UgdG8gcmV0cmlldmUgdGhlIHNjaGVtZSBmb3IsIHVzZWQKICAgICAgICBpbiB0aGUgaGVhZGVycyBzY2hlbWUgcGF0aAogICAgOnBhcmFtIHVzZXI6IGluZGljYXRlcyB0byB1c2UgdGhlICJ1c2VyIiBzY2hlbWUKICAgIDpwYXJhbSBob21lOiBpbmRpY2F0ZXMgdG8gdXNlIHRoZSAiaG9tZSIgc2NoZW1lCiAgICA6cGFyYW0gcm9vdDogcm9vdCB1bmRlciB3aGljaCBvdGhlciBkaXJlY3RvcmllcyBhcmUgcmUtYmFzZWQKICAgIDpwYXJhbSBpc29sYXRlZDogaWdub3JlZCwgYnV0IGtlcHQgZm9yIGRpc3R1dGlscyBjb21wYXRpYmlsaXR5ICh3aGVyZQogICAgICAgIHRoaXMgY29udHJvbHMgd2hldGhlciB0aGUgdXNlci1zaXRlIHB5ZGlzdHV0aWxzLmNmZyBpcyBob25vcmVkKQogICAgOnBhcmFtIHByZWZpeDogaW5kaWNhdGVzIHRvIHVzZSB0aGUgInByZWZpeCIgc2NoZW1lIGFuZCBwcm92aWRlcyB0aGUKICAgICAgICBiYXNlIGRpcmVjdG9yeSBmb3IgdGhlIHNhbWUKICAgIHoGLS11c2VyeggtLXByZWZpeHoGLS1ob21lTnIMAAAAchQAAABjAQAAAAAAAAAAAAAAAgAAAAQAAAATAAAAcxIAAABpAHwAXQp9AXwBiACTAnEEUwByDgAAAHIOAAAAqQLaAi4w2gFrKQFyIgAAAHIOAAAAcg8AAADaCjxkaWN0Y29tcD6kAAAA8wAAAAB6HmdldF9zY2hlbWUuPGxvY2Fscz4uPGRpY3Rjb21wPmMBAAAAAAAAAAAAAAACAAAABAAAABMAAABzEgAAAGkAfABdCn0BfAGIAJMCcQRTAHIOAAAAcg4AAAByLwAAACkBchEAAAByDgAAAHIPAAAAcjIAAACmAAAAcjMAAAApAtoGc2NoZW1l2gR2YXJzcisAAAByJwAAANoGcHl0aG9u2gdpbmNsdWRl2gRzaXRl2gdVTktOT1dO2gdwbGF0bGli2gdwdXJlbGli2gdzY3JpcHRz2gRkYXRhKQVyOgAAAHI7AAAA2gdoZWFkZXJzcjwAAAByPQAAACkUcgIAAAByJQAAAHIhAAAAchsAAADaCl9IT01FX0tFWVPaCXN5c2NvbmZpZ9oJZ2V0X3BhdGhzcgYAAADaA2dldHIWAAAAchEAAAByCQAAAHIZAAAA2gRwYXRo2gRqb2lucgUAAAByBAAAAHIIAAAA2gdnZXRhdHRy2gdzZXRhdHRyKQ5yLAAAAHIcAAAAciIAAAByLQAAAHIuAAAAchEAAABaC3NjaGVtZV9uYW1l2gl2YXJpYWJsZXPaBXBhdGhzcicAAABaCXB5dGhvbl94eXI0AAAA2gNrZXnaBXZhbHVlcg4AAAApAnIiAAAAchEAAAByDwAAANoKZ2V0X3NjaGVtZXwAAABzSgAAAAAVCAEKAQgBCgIIAQgBBAEIAgYFEAEEAggBFAEIARQCBAIOBwYBBAEQAg4BDAEYAQQBBAICAQYBBgEQAQYBBvsGBwoBCAEQARABcksAAABjAAAAAAAAAAAAAAAAAAAAAAMAAABDAAAAczQAAAB0AGoBZABkAYUCGQBkAmsCcih0AGoCZABkA4UCGQBkBGsCcihkBVMAdAOgBKEAZAYZAFMAKQdO6QYAAADaBmRhcndpbukQAAAAehAvU3lzdGVtL0xpYnJhcnkveg4vdXNyL2xvY2FsL2JpbnI8AAAAKQVyFgAAANoIcGxhdGZvcm1yEQAAAHJAAAAAckEAAAByDgAAAHIOAAAAcg4AAAByDwAAANoOZ2V0X2Jpbl9wcmVmaXjJAAAAcwYAAAAAAiQBBAFyUAAAAGMAAAAAAAAAAAAAAAAAAAAAAgAAAEMAAABzDAAAAHQAoAGhAGQBGQBTACkCTnI7AAAAqQJyQAAAAHJBAAAAcg4AAAByDgAAAHIOAAAAcg8AAADaC2dldF9wdXJlbGli0AAAAHMCAAAAAAFyUgAAAGMAAAAAAAAAAAAAAAAAAAAAAgAAAEMAAABzDAAAAHQAoAGhAGQBGQBTACkCTnI6AAAAclEAAAByDgAAAHIOAAAAcg4AAAByDwAAANoLZ2V0X3BsYXRsaWLUAAAAcwIAAAAAAXJTAAAAKQJyEQAAAHILAAAAYwEAAAAAAAAAAAAAAAIAAAAEAAAAQwAAAHMiAAAAdABqAXwAfABkAZwCZAKNAX0BfAFkAxkAfAFkBBkAZgJTACkFTikCcicAAAByKQAAACkBcjUAAAByOwAAAHI6AAAAclEAAAApAnIRAAAAckgAAAByDgAAAHIOAAAAcg8AAADaEWdldF9wcmVmaXhlZF9saWJz2AAAAHMEAAAAAAESAXJUAAAAKQVGTk5GTikp2gdsb2dnaW5nchkAAAByFgAAAHJAAAAA2gZ0eXBpbmfaGHBpcC5faW50ZXJuYWwuZXhjZXB0aW9uc3ICAAAAcgMAAADaG3BpcC5faW50ZXJuYWwubW9kZWxzLnNjaGVtZXIEAAAAcgUAAADaHnBpcC5faW50ZXJuYWwudXRpbHMudmlydHVhbGVudnIGAAAAcicAAAByCAAAAHIJAAAAcgoAAADaCWdldExvZ2dlctoIX19uYW1lX1/aBmxvZ2dlctoDc2V02hBnZXRfc2NoZW1lX25hbWVzcg0AAAByRQAAAHIVAAAA2gRib29schAAAADaA3N0cnIbAAAAciEAAAByJQAAAHI/AAAA2g5nZXRfY29uZmlnX3ZhctoGYXBwZW5k2ghPcHRpb25hbHJLAAAAclAAAAByUgAAAHJTAAAA2gVUdXBsZXJUAAAAcg4AAAByDgAAAHIOAAAAcg8AAADaCDxtb2R1bGU+AQAAAHNIAAAACAEIAQgBCAEIAhABEAEMAhQCCgsMAgwDDhoOHw4PDgsICA4BCgUAAQABAAEAAQD6AgECAQIBCAEIAQIBCAEC+QxNDgcOBA4E