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U2NhbGUsIExpc3Rib3gsIFNjcm9sbGJhciwgT3B0aW9uTWVudSwgU3BpbmJveApMYWJlbEZyYW1lIGFuZCBQYW5lZFdpbmRvdy4KClByb3BlcnRpZXMgb2YgdGhlIHdpZGdldHMgYXJlIHNwZWNpZmllZCB3aXRoIGtleXdvcmQgYXJndW1lbnRzLgpLZXl3b3JkIGFyZ3VtZW50cyBoYXZlIHRoZSBzYW1lIG5hbWUgYXMgdGhlIGNvcnJlc3BvbmRpbmcgcmVzb3VyY2UKdW5kZXIgVGsuCgpXaWRnZXRzIGFyZSBwb3NpdGlvbmVkIHdpdGggb25lIG9mIHRoZSBnZW9tZXRyeSBtYW5hZ2VycyBQbGFjZSwgUGFjawpvciBHcmlkLiBUaGVzZSBtYW5hZ2VycyBjYW4gYmUgY2FsbGVkIHdpdGggbWV0aG9kcyBwbGFjZSwgcGFjaywgZ3JpZAphdmFpbGFibGUgaW4gZXZlcnkgV2lkZ2V0LgoKQWN0aW9ucyBhcmUgYm91bmQgdG8gZXZlbnRzIGJ5IHJlc291cmNlcyAoZS5nLiBrZXl3b3JkIGFyZ3VtZW50CmNvbW1hbmQpIG9yIHdpdGggdGhlIG1ldGhvZCBiaW5kLgoKRXhhbXBsZSAoSGVsbG8sIFdvcmxkKToKaW1wb3J0IFRraW50ZXIKZnJvbSBUa2NvbnN0YW50cyBpbXBvcnQgKgp0ayA9IFRraW50ZXIuVGsoKQpmcmFtZSA9IFRraW50ZXIuRnJhbWUodGssIHJlbGllZj1SSURHRSwgYm9yZGVyd2lkdGg9MikKZnJhbWUucGFjayhmaWxsPUJPVEgsZXhwYW5kPTEpCmxhYmVsID0gVGtpbnRlci5MYWJlbChmcmFtZSwgdGV4dD0iSGVsbG8sIFdvcmxkIikKbGFiZWwucGFjayhmaWxsPVgsIGV4cGFuZD0xKQpidXR0b24gPSBUa2ludGVyLkJ1dHRvbihmcmFtZSx0ZXh0PSJFeGl0Iixjb21tYW5kPXRrLmRlc3Ryb3kpCmJ1dHRvbi5wYWNrKHNpZGU9Qk9UVE9NKQp0ay5tYWlubG9vcCgpCnMSAAAAJFJldmlzaW9uOiA4MTAwOCAkaf////9OdAUAAAB3aW4zMigBAAAAdAEAAAAqaQEAAABzCAAAAChbXFx7fV0p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bmZ0AQAAAGN0AwAAAG1zZ3QBAAAAa3QBAAAAdigAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CQAAAF9jbmZtZXJnZWoAAABzGgAAAAACEgEEARgBBAIGARMBAwERARUBCQEZARYBdAUAAABFdmVudGMAAAAAAAAAAAEAAABCAAAAcw4AAABlAABaAQBkAABaAgBSUygBAAAAc8oHAABDb250YWluZXIgZm9yIHRoZSBwcm9wZXJ0aWVzIG9mIGFuIGV2ZW50LgoKICAgIEluc3RhbmNlcyBvZiB0aGlzIHR5cGUgYXJlIGdlbmVyYXRlZCBpZiBvbmUgb2YgdGhlIGZvbGxvd2luZyBldmVudHMgb2NjdXJzOgoKICAgIEtleVByZXNzLCBLZXlSZWxlYXNlIC0gZm9yIGtleWJvYXJkIGV2ZW50cwogICAgQnV0dG9uUHJlc3MsIEJ1dHRvblJlbGVhc2UsIE1vdGlvbiwgRW50ZXIsIExlYXZlLCBNb3VzZVdoZWVsIC0gZm9yIG1vdXNlIGV2ZW50cwogICAgVmlzaWJpbGl0eSwgVW5tYXAsIE1hcCwgRXhwb3NlLCBGb2N1c0luLCBGb2N1c091dCwgQ2lyY3VsYXRlLAogICAgQ29sb3JtYXAsIEdyYXZpdHksIFJlcGFyZW50LCBQcm9wZXJ0eSwgRGVzdHJveSwgQWN0aXZhdGUsCiAgICBEZWFjdGl2YXRlIC0gZm9yIHdpbmRvdyBldmVudHMuCgogICAgSWYgYSBjYWxsYmFjayBmdW5jdGlvbiBmb3Igb25lIG9mIHRoZXNlIGV2ZW50cyBpcyByZWdpc3RlcmVkCiAgICB1c2luZyBiaW5kLCBiaW5kX2FsbCwgYmluZF9jbGFzcywgb3IgdGFnX2JpbmQsIHRoZSBjYWxsYmFjayBpcwogICAgY2FsbGVkIHdpdGggYW4gRXZlbnQgYXMgZmlyc3QgYXJndW1lbnQuIEl0IHdpbGwgaGF2ZSB0aGUKICAgIGZvbGxvd2luZyBhdHRyaWJ1dGVzIChpbiBicmFjZXMgYXJlIHRoZSBldmVudCB0eXBlcyBmb3Igd2hpY2gKICAgIHRoZSBhdHRyaWJ1dGUgaXMgdmFsaWQpOgoKICAgICAgICBzZXJpYWwgLSBzZXJpYWwgbnVtYmVyIG9mIGV2ZW50CiAgICBudW0gLSBtb3VzZSBidXR0b24gcHJlc3NlZCAoQnV0dG9uUHJlc3MsIEJ1dHRvblJlbGVhc2UpCiAgICBmb2N1cyAtIHdoZXRoZXIgdGhlIHdpbmRvdyBoYXMgdGhlIGZvY3VzIChFbnRlciwgTGVhdmUpCiAgICBoZWlnaHQgLSBoZWlnaHQgb2YgdGhlIGV4cG9zZWQgd2luZG93IChDb25maWd1cmUsIEV4cG9zZSkKICAgIHdpZHRoIC0gd2lkdGggb2YgdGhlIGV4cG9zZWQgd2luZG93IChDb25maWd1cmUsIEV4cG9zZSkKICAgIGtleWNvZGUgLSBrZXljb2RlIG9mIHRoZSBwcmVzc2VkIGtleSAoS2V5UHJlc3MsIEtleVJlbGVhc2UpCiAgICBzdGF0ZSAtIHN0YXRlIG9mIHRoZSBldmVudCBhcyBhIG51bWJlciAoQnV0dG9uUHJlc3MsIEJ1dHRvblJlbGVhc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnRlciwgS2V5UHJlc3MsIEtleVJlbGVhc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMZWF2ZSwgTW90aW9uKQogICAgc3RhdGUgLSBzdGF0ZSBhcyBhIHN0cmluZyAoVmlzaWJpbGl0eSkKICAgIHRpbWUgLSB3aGVuIHRoZSBldmVudCBvY2N1cnJlZAogICAgeCAtIHgtcG9zaXRpb24gb2YgdGhlIG1vdXNlCiAgICB5IC0geS1wb3NpdGlvbiBvZiB0aGUgbW91c2UKICAgIHhfcm9vdCAtIHgtcG9zaXRpb24gb2YgdGhlIG1vdXNlIG9uIHRoZSBzY3JlZW4KICAgICAgICAgICAgIChCdXR0b25QcmVzcywgQnV0dG9uUmVsZWFzZSwgS2V5UHJlc3MsIEtleVJlbGVhc2UsIE1vdGlvbikKICAgIHlfcm9vdCAtIHktcG9zaXRpb24gb2YgdGhlIG1vdXNlIG9uIHRoZSBzY3JlZW4KICAgICAgICAgICAgIChCdXR0b25QcmVzcywgQnV0dG9uUmVsZWFzZSwgS2V5UHJlc3MsIEtleVJlbGVhc2UsIE1vdGlvbikKICAgIGNoYXIgLSBwcmVzc2VkIGNoYXJhY3RlciAoS2V5UHJlc3MsIEtleVJlbGVhc2UpCiAgICBzZW5kX2V2ZW50IC0gc2VlIFgvV2luZG93cyBkb2N1bWVudGF0aW9uCiAgICBrZXlzeW0gLSBrZXlzeW0gb2YgdGhlIGV2ZW50IGFzIGEgc3RyaW5nIChLZXlQcmVzcywgS2V5UmVsZWFzZSkKICAgIGtleXN5bV9udW0gLSBrZXlzeW0gb2YgdGhlIGV2ZW50IGFzIGEgbnVtYmVyIChLZXlQcmVzcywgS2V5UmVsZWFzZSkKICAgIHR5cGUgLSB0eXBlIG9mIHRoZSBldmVudCBhcyBhIG51bWJlcgogICAgd2lkZ2V0IC0gd2lkZ2V0IGluIHdoaWNoIHRoZSBldmVudCBvY2N1cnJlZAogICAgZGVsdGEgLSBkZWx0YSBvZiB3aGVlbCBtb3ZlbWVudCAoTW91c2VXaGVlbCkKICAgICgDAAAAdAgAAABfX25hbWVfX3QKAAAAX19tb2R1bGVfX3QHAAAAX19kb2NfXygAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVIqAAAAfgAAAHMEAAAABikGAWMAAAAAAAAAAAEAAABDAAAAcxMAAABkAQBhAABkAgBhAgBiAgBkAgBTKAMAAABzqAAAAEluaGliaXQgc2V0dGluZyBvZiBkZWZhdWx0IHJvb3Qgd2luZG93LgoKICAgIENhbGwgdGhpcyBmdW5jdGlvbiB0byBpbmhpYml0IHRoYXQgdGhlIGZpcnN0IGluc3RhbmNlIG9mCiAgICBUayBpcyB1c2VkIGZvciB3aW5kb3dzIHdpdGhvdXQgYW4gZXhwbGljaXQgcGFyZW50IHdpbmRvdy4KICAgIGkAAAAATigDAAAAdBUAAABfc3VwcG9ydF9kZWZhdWx0X3Jvb3RSGQAAAHQNAAAAX2RlZmF1bHRfcm9vdCgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQNAAAATm9EZWZhdWx0Um9vdK0AAABzBgAAAAAHBgIGAWMBAAAAAQAAAAEAAABDAAAAcwQAAABkAQBTKAIAAABzEgAAAEludGVybmFsIGZ1bmN0aW9uLk4oAAAAACgBAAAAdAMAAABlcnIoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAgAAABfdGtlcnJvcrkAAABzAgAAAAACaQAAAABjAQAAAAEAAAAFAAAAQwAAAHMxAAAAeRAAdAAAfAAAgwEAfQAAV24RAAR0AQBrCgByIwABAQFuAQBYdAIAfAAAggIAZAEAUygCAAAAc0IAAABJbnRlcm5hbCBmdW5jdGlvbi4gQ2FsbGluZyBpdCB3aWxsIHJhaXNlIHRoZSBleGNlcHRpb24gU3lzdGVtRXhpdC5OKAMAAAB0AwAAAGludHQKAAAAVmFsdWVFcnJvcnQKAAAAU3lzdGVtRXhpdCgBAAAAdAQAAABjb2RlKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQFAAAAX2V4aXS9AAAAcwoAAAAAAgMBEAENAQQBdAgAAABWYXJpYWJsZWMAAAAAAAAAAAQAAABCAAAAc3QAAABlAABaAQBkAABaAgBkAQBaAwBkCwBkCwBkCwBkAgCEAwBaBQBkAwCEAABaBgBkBACEAABaBwBkBQCEAABaCABkBgCEAABaCQBkBwCEAABaCgBlCgBaCwBkCACEAABaDABkCQCEAABaDQBkCgCEAABaDgBSUygMAAAAc7oAAABDbGFzcyB0byBkZWZpbmUgdmFsdWUgaG9sZGVycyBmb3IgZS5nLiBidXR0b25zLgoKICAgIFN1YmNsYXNzZXMgU3RyaW5nVmFyLCBJbnRWYXIsIERvdWJsZVZhciwgQm9vbGVhblZhciBhcmUgc3BlY2lhbGl6YXRpb25zCiAgICB0aGF0IGNvbnN0cmFpbiB0aGUgdHlwZSBvZiB0aGUgdmFsdWUgcmV0dXJuZWQgZnJvbSBnZXQoKS50AAAAAGMEAAAABAAAAAQAAABDAAAAc6EAAAB8AQBzDwB0AAB9AQBuAAB8AQB8AABfAQB8AQBqAgB8AABfAwB8AwByNgB8AwB8AABfBABuHQBkAQB0BQB0BgCDAQAXfAAAXwQAdAYAZAIAN2EGAHwCAGQFAGsJAHJvAHwAAGoIAHwCAIMBAAFuLgB8AABqAwBqCQBkAwBkBAB8AABqBACDAwBznQB8AABqCAB8AABqCgCDAQABbgAAZAUAUygGAAAAcy4BAABDb25zdHJ1Y3QgYSB2YXJpYWJsZQoKICAgICAgICBNQVNURVIgY2FuIGJlIGdpdmVuIGFzIG1hc3RlciB3aWRnZXQuCiAgICAgICAgVkFMVUUgaXMgYW4gb3B0aW9uYWwgdmFsdWUgKGRlZmF1bHRzIHRvICIiKQogICAgICAgIE5BTUUgaXMgYW4gb3B0aW9uYWwgVGNsIG5hbWUgKGRlZmF1bHRzIHRvIFBZX1ZBUm51bSkuCgogICAgICAgIElmIE5BTUUgbWF0Y2hlcyBhbiBleGlzdGluZyB2YXJpYWJsZSBhbmQgVkFMVUUgaXMgb21pdHRlZAogICAgICAgIHRoZW4gdGhlIGV4aXN0aW5nIHZhbHVlIGlzIHJldGFpbmVkLgogICAgICAgIHQGAAAAUFlfVkFSaQEAAAB0BAAAAGluZm90BgAAAGV4aXN0c04oCwAAAFIvAAAAdAcAAABfbWFzdGVydAIAAAB0a3QDAAAAX3RrdAUAAABfbmFtZXQEAAAAcmVwcnQHAAAAX3Zhcm51bVIZAAAAdAMAAABzZXR0BAAAAGNhbGx0CAAAAF9kZWZhdWx0KAQAAAB0BAAAAHNlbGZ0BgAAAG1hc3RlclIGAAAAdAQAAABuYW1lKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQIAAAAX19pbml0X1/MAAAAcxgAAAAACwYBCQEJAQwBBgEMAhMBCgEMARABGwFjAQAAAAEAAAACAAAAQwAAAHMXAAAAfAAAagAAagEAfAAAagIAgwEAAWQBAFMoAgAAAHMaAAAAVW5zZXQgdGhlIHZhcmlhYmxlIGluIFRjbC5OKAMAAABSPwAAAHQOAAAAZ2xvYmFsdW5zZXR2YXJSQAAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAcAAABfX2RlbF9f5AAAAHMCAAAAAAJjAQAAAAEAAAABAAAAQwAAAHMHAAAAfAAAagAAUygBAAAAcycAAABSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIGluIFRjbC4oAQAAAFJAAAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0BwAAAF9fc3RyX1/nAAAAcwIAAAAAAmMCAAAAAgAAAAMAAABDAAAAcxYAAAB8AABqAABqAQB8AABqAgB8AQCDAgBTKAEAAABzGgAAAFNldCB0aGUgdmFyaWFibGUgdG8gVkFMVUUuKAMAAABSPwAAAHQMAAAAZ2xvYmFsc2V0dmFyUkAAAAAoAgAAAFJGAAAAUgYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkMAAADqAAAAcwIAAAAAAmMBAAAAAQAAAAIAAABDAAAAcxMAAAB8AABqAABqAQB8AABqAgCDAQBTKAEAAABzGQAAAFJldHVybiB2YWx1ZSBvZiB2YXJpYWJsZS4oAwAAAFI/AAAAdAwAAABnbG9iYWxnZXR2YXJSQAAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAMAAABnZXTtAAAAcwIAAAAAAmMDAAAABAAAAAYAAABDAAAAczUAAAB8AABqAABqAQB8AgCDAQB9AwB8AABqAgBqAwBkAQBkAgB8AABqBAB8AQB8AwCDBQABfAMAUygDAAAAcwoBAABEZWZpbmUgYSB0cmFjZSBjYWxsYmFjayBmb3IgdGhlIHZhcmlhYmxlLgoKICAgICAgICBNT0RFIGlzIG9uZSBvZiAiciIsICJ3IiwgInUiIGZvciByZWFkLCB3cml0ZSwgdW5kZWZpbmUuCiAgICAgICAgQ0FMTEJBQ0sgbXVzdCBiZSBhIGZ1bmN0aW9uIHdoaWNoIGlzIGNhbGxlZCB3aGVuCiAgICAgICAgdGhlIHZhcmlhYmxlIGlzIHJlYWQsIHdyaXR0ZW4gb3IgdW5kZWZpbmVkLgoKICAgICAgICBSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGNhbGxiYWNrLgogICAgICAgIHQFAAAAdHJhY2V0CAAAAHZhcmlhYmxlKAUAAABSPQAAAHQJAAAAX3JlZ2lzdGVyUj8AAABSRAAAAFJAAAAAKAQAAABSRgAAAHQEAAAAbW9kZXQIAAAAY2FsbGJhY2t0BgAAAGNibmFtZSgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DgAAAHRyYWNlX3ZhcmlhYmxl8AAAAHMGAAAAAAkSAR8BYwMAAAADAAAABgAAAEMAAABzMwAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAHwBAHwCAIMFAAF8AABqAwBqBAB8AgCDAQABZAMAUygEAAAAc8UAAABEZWxldGUgdGhlIHRyYWNlIGNhbGxiYWNrIGZvciBhIHZhcmlhYmxlLgoKICAgICAgICBNT0RFIGlzIG9uZSBvZiAiciIsICJ3IiwgInUiIGZvciByZWFkLCB3cml0ZSwgdW5kZWZpbmUuCiAgICAgICAgQ0JOQU1FIGlzIHRoZSBuYW1lIG9mIHRoZSBjYWxsYmFjayByZXR1cm5lZCBmcm9tIHRyYWNlX3ZhcmlhYmxlIG9yIHRyYWNlLgogICAgICAgIFJQAAAAdAcAAAB2ZGVsZXRlTigFAAAAUj8AAABSRAAAAFJAAAAAUj0AAAB0DQAAAGRlbGV0ZWNvbW1hbmQoAwAAAFJGAAAAUlMAAABSVQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAHRyYWNlX3ZkZWxldGX9AAAAcwQAAAAABh8BYwEAAAABAAAABwAAAEMAAABzNAAAAHQAAHwAAGoBAGoCAHwAAGoBAGoDAHwAAGoBAGoEAGQBAGQCAHwAAGoFAIMDAIMBAIMCAFMoAwAAAHMmAAAAUmV0dXJuIGFsbCB0cmFjZSBjYWxsYmFjayBpbmZvcm1hdGlvbi5SUAAAAHQFAAAAdmluZm8oBgAAAFIEAAAAUj8AAAB0BQAAAHNwbGl0dAkAAABzcGxpdGxpc3RSRAAAAFJAAAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAHRyYWNlX3ZpbmZvBQEAAHMEAAAAAAIVAWMCAAAAAgAAAAMAAABDAAAAcygAAAB8AABqAABqAQB8AQBqAABqAQBrAgBvJwB8AABqAgB8AQBqAgBrAgBTKAEAAABzlQAAAENvbXBhcmlzb24gZm9yIGVxdWFsaXR5ICg9PSkuCgogICAgICAgIE5vdGU6IGlmIHRoZSBWYXJpYWJsZSdzIG1hc3RlciBtYXR0ZXJzIHRvIGJlaGF2aW9yCiAgICAgICAgYWxzbyBjb21wYXJlIHNlbGYuX21hc3RlciA9PSBvdGhlci5fbWFzdGVyCiAgICAgICAgKAMAAAB0CQAAAF9fY2xhc3NfX1IrAAAAUkAAAAAoAgAAAFJGAAAAdAUAAABvdGhlcigAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0BgAAAF9fZXFfXwkBAABzBAAAAAAGGAFOKA8AAABSKwAAAFIsAAAAUi0AAABSRQAAAFIZAAAAUkkAAABSSwAAAFJMAAAAUkMAAABSTwAAAFJWAAAAUlAAAABSWQAAAFJdAAAAUmAAAAAoAAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSOAAAAMYAAABzGAAAAAYEBgEGARIYCQMJAwkDCQMJDAYBCQgJBHQJAAAAU3RyaW5nVmFyYwAAAAAAAAAABAAAAEIAAABzLwAAAGUAAFoBAGQAAFoCAGQBAFoDAGQEAGQEAGQEAGQC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aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJJAAAAKwEAAHMCAAAAAApjAgAAAAIAAAADAAAAQwAAAHMuAAAAdAAAfAEAdAEAgwIAch4AdAIAfAEAgwEAfQEAbgAAdAMAagQAfAAAfAEAgwIAUygBAAAAczsAAABTZXQgdGhlIHZhcmlhYmxlIHRvIHZhbHVlLCBjb252ZXJ0aW5nIGJvb2xlYW5zIHRvIGludGVnZXJzLigFAAAAUgoAAAB0BAAAAGJvb2xSMwAAAFI4AAAAUkMAAAAoAgAAAFJGAAAAUgYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkMAAAA3AQAAcwYAAAAAAg8BDwFjAQAAAAEAAAADAAAAQwAAAHMZAAAAdAAAfAAAagEAagIAfAAAagMAgwEAgwEAUygBAAAAcy8AAABSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBhcyBhbiBpbnRlZ2VyLigEAAAAdAYAAABnZXRpbnRSPwAAAFJOAAAAUkAAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJPAAAAPQEAAHMCAAAAAAJOKAgAAABSKwAAAFIsAAAAUi0AAABSRQAAAFIZAAAAUkkAAABSQwAAAFJPAAAAKAAAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UmIAAAAoAQAAcwoAAAAGAQYBBgESDAkGdAkAAABEb3VibGVWYXJjAAAAAAAAAAAEAAAAQgAAAHMvAAAAZQAAWgEAZAAAWgIAZAEAWgMAZAQAZAQAZAQAZAIAhAMAWgUAZAMAhAAAWgYAUlMoBQAAAHMhAAAAVmFsdWUgaG9sZGVyIGZvciBmbG9hdCB2YXJpYWJsZXMuZwAAAAAAAAAAYwQAAAAEAAAABQAAAEMAAABzGgAAAHQAAGoBAHwAAHwBAHwCAHwDAIMEAAFkAQBTKAIAAABzNgEAAENvbnN0cnVjdCBhIGZsb2F0IHZhcmlhYmxlLgoKICAgICAgICBNQVNURVIgY2FuIGJlIGdpdmVuIGFzIG1hc3RlciB3aWRnZXQuCiAgICAgICAgVkFMVUUgaXMgYW4gb3B0aW9uYWwgdmFsdWUgKGRlZmF1bHRzIHRvIDAuMCkKICAgICAgICBOQU1FIGlzIGFuIG9wdGlvbmFsIFRjbCBuYW1lIChkZWZhdWx0cyB0byBQWV9WQVJudW0pLgoKICAgICAgICBJZiBOQU1FIG1hdGNoZXMgYW4gZXhpc3RpbmcgdmFyaWFibGUgYW5kIFZBTFVFIGlzIG9taXR0ZWQKICAgICAgICB0aGVuIHRoZSBleGlzdGluZyB2YWx1ZSBpcyByZXRhaW5lZC4KICAgICAgICBOKAIAAABSOAAAAFJJAAAAKAQAAABSRgAAAFJHAAAAUgYAAABSSAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSSQAAAEQBAABzAgAAAAAKYwEAAAABAAAAAwAAAEMAAABzGQAAAHQAAHwAAGoBAGoCAHwAAGoDAIMBAIMBAFMoAQAAAHMsAAAAUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgYXMgYSBmbG9hdC4oBAAAAHQJAAAAZ2V0ZG91YmxlUj8AAABSTgAAAFJAAAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSTwAAAFABAABzAgAAAAACTigHAAAAUisAAABSLAAAAFItAAAAUkUAAABSGQAAAFJJAAAAUk8AAAAoAAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSZQAAAEEBAABzCAAAAAYBBgEGARIMdAoAAABCb29sZWFuVmFyYwAAAAAAAAAABAAAAEIAAABzLwAAAGUAAFoBAGQAAFoCAGUDAFoEAGQDAGQDAGQDAGQBAIQDAFoGAGQCAIQAAFoHAFJTKAQAAABzIwAAAFZhbHVlIGhvbGRlciBmb3IgYm9vbGVhbiB2YXJpYWJsZXMuYwQAAAAEAAAABQAAAEMAAABzGgAAAHQAAGoBAHwAAHwBAHwCAHwDAIMEAAFkAQBTKAIAAABzOgEAAENvbnN0cnVjdCBhIGJvb2xlYW4gdmFyaWFibGUuCgogICAgICAgIE1BU1RFUiBjYW4gYmUgZ2l2ZW4gYXMgbWFzdGVyIHdpZGdldC4KICAgICAgICBWQUxVRSBpcyBhbiBvcHRpb25hbCB2YWx1ZSAoZGVmYXVsdHMgdG8gRmFsc2UpCiAgICAgICAgTkFNRSBpcyBhbiBvcHRpb25hbCBUY2wgbmFtZSAoZGVmYXVsdHMgdG8gUFlfVkFSbnVtKS4KCiAgICAgICAgSWYgTkFNRSBtYXRjaGVzIGFuIGV4aXN0aW5nIHZhcmlhYmxlIGFuZCBWQUxVRSBpcyBvbWl0dGVkCiAgICAgICAgdGhlbiB0aGUgZXhpc3RpbmcgdmFsdWUgaXMgcmV0YWluZWQuCiAgICAgICAgTigCAAAAUjgAAABSSQAAACgEAAAAUkYAAABSRwAAAFIGAAAAUkgAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkkAAABXAQAAcwIAAAAACmMBAAAAAQAAAAMAAABDAAAAcx8AAAB8AABqAABqAQB8AABqAABqAgB8AABqAwCDAQCDAQBTKAEAAABzKwAAAFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGFzIGEgYm9vbC4oBAAAAFI/AAAAdAoAAABnZXRib29sZWFuUk4AAABSQAAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Uk8AAABjAQAAcwIAAAAAAk4oCAAAAFIrAAAAUiwAAABSLQAAAHQFAAAARmFsc2VSRQAAAFIZAAAAUkkAAABSTwAAACgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJnAAAAVAEAAHMIAAAABgEGAQYBEgxjAQAAAAEAAAACAAAAQwAAAHMUAAAAdAAAagEAagIAfAAAgwEAAWQBAFMoAgAAAHMZAAAAUnVuIHRoZSBtYWluIGxvb3Agb2YgVGNsLk4oAwAAAFIvAAAAUj4AAAB0CAAAAG1haW5sb29wKAEAAAB0AQAAAG4oAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UmoAAABnAQAAcwIAAAAAAmMBAAAAAQAAAAIAAABDAAAAcxAAAAB0AABqAQBqAgB8AACDAQBTKAEAAABzMQAAAENvbnZlcnQgdHJ1ZSBhbmQgZmFsc2UgdG8gaW50ZWdlciB2YWx1ZXMgMSBhbmQgMC4oAwAAAFIvAAAAUj4AAABSaAAAACgBAAAAdAEAAABzKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJoAAAAbwEAAHMCAAAAAAJ0BAAAAE1pc2NjAAAAAAAAAAATAAAAQgAAAHMpBgAAZQAAWgEAZAAAWgIAZKkAWgQAZAEAhAAAWgUAZAIAhAAAWgYAZKkAZAMAhAEAWgcAZAQAhAAAWggAZAUAhAAAWgkAZAYAhAAAWgoAZAcAZAgAhAEAWgsAZQsAWgwAZKkAZAkAhAEAWg0AZKkAZAoAhAEAWg4AZAcAZAsAZAwAhAIAWg8AZAcAZA0AhAEAWhAAZREAWhIAZRMAWhQAZA4AhAAAWhUAZA8AhAAAWhYAZRYAWhcAZBAAhAAAWhgAZBEAhAAAWhkAZBIAhAAAWhoAZBMAhAAAWhsAZBQAhAAAWhwAZBUAhAAAWh0AZBYAhAAAWh4AZKkAZBcAhAEAWh8AZBgAhAAAWiAAZBkAhAAAWiEAZBoAZBsAhAEAWiIAZBwAhAAAWiMAZB0AhAAAWiQAZB4AhAAAWiUAZB8AhAAAWiYAZCAAhAAAWicAZCEAhAAAWigAZCIAhAAAWikAZCMAhAAAWioAZKkAZCQAhAEAWisAZCUAhAAAWiwAZCYAhAAAWi0AZKkAZCcAhAEAWi4AZCgAhAAAWi8AZCkAhAAAWjAAZCoAhAAAWjEAZCsAhAAAWjIAZCwAhAAAWjMAZC0AhAAAWjQAZKkAZC4AhAEAWjUAZKkAZC8AhAEAWjYAZTYAWjcAZKkAZDAAhAEAWjgAZBoAZDEAhAEAWjkAZBoAZDIAhAEAWjoAZDMAhAAAWjsAZDQAhAAAWjwAZDUAhAAAWj0AZDYAhAAAWj4AZBoAZDcAhAEAWj8AZDgAhAAAWkAAZDkAhAAAWkEAZDoAhAAAWkIAZDsAhAAAWkMAZDwAhAAAWkQAZD0AhAAAWkUAZBoAZD4AhAEAWkYAZD8AhAAAWkcAZEAAhAAAWkgAZEEAhAAAWkkAZEIAhAAAWkoAZBoAZEMAhAEAWksAZEQAhAAAWkwAZEUAhAAAWk0AZEYAhAAAWk4AZEcAhAAAWk8AZEgAhAAAWlAAZEkAhAAAWlEAZEoAhAAAWlIAZEsAhAAAWlMAZEwAhAAAWlQAZE0AhAAAWlUAZE4AhAAAWlYAZE8AhAAAWlcAZFAAhAAAWlgAZFEAhAAAWlkAZFIAhAAAWloAZFMAhAAAWlsAZFQAhAAAWlwAZFUAhAAAWl0AZFYAhAAAWl4AZFcAhAAAWl8AZFgAhAAAWmAAZFkAhAAAWmEAZBoAZFoAhAEAWmIAZFsAhAAAWmMAZFwAhAAAWmQAZF0AhAAAWmUAZF4AhAAAWmYAZF8AhAAAWmcAZGAAhAAAWmgAZGEAhAAAWmkAZGIAhAAAWmoAZGMAhAAAWmsAZGQAhAAAWmwAZGUAhAAAWm0AZKkAZGYAhAEAWm4AZGcAZGgAhAEAWm8AZKkAZKkAZKkAZGkAhAMAWnAAZKkAZGoAhAEAWnEAZKkAZKkAZKkAZGsAhAMAWnIAZGwAhAAAWnMAZKkAZKkAZKkAZG0AhAMAWnQAZG4AhAAAWnUAZBoAZG8AhAEAWnYAZHAAhAAAWncAZHEAhAAAWngAZHIAhAAAWnkAZHMAhAAAWnoAZHQAhAAAWnsAZXwAZHUAhAAAgwEAWn0AZKkAZHYAhAEAWn4AZHcAhAAAWn8AZX8AWoAAZKkAZGcAZHgAhAIAWoEAZYEAWoIAZHkAhAAAWoMAZKoAWoQAZI0AaoUAZYQAgwEAWoYAZI4AhAAAWocAZI8AhAAAWogAZJAAhAAAWokAZKkAZJEAhAEAWooAZYoAWosAZJIAhAAAWowAZYwAWo0AZJMAhAAAWo4AZJQAhAAAWo8AZJUAhAAAWpAAZJYAhAAAWpEAZJcAZwEAWpIAZZIAZJgAhAEAWpMAZZMAWpQAZJkAhAAAWpUAZZUAWpYAZJoAhAAAWpcAZKkAZKkAZKkAZKkAZJsAhAQAWpgAZZgAWpkAZJwAhAAAWpoAaQAAZJ0AhAEAWpsAZZsAWpwAZJ4AhAAAWp0AZZIAZJ8AhAEAWp4AaQAAZKAAhAEAWp8AZZ8AWqAAZKEAhAAAWqEAZaEAWqIAZKkAZKkAZKIAhAIAWqMAZKMAhAAAWqQAZKQAhAAAWqUAZKUAhAAAWqYAZKkAZKYAhAEAWqcAZKcAhAAAWqgAZKgAhAAAWqkAUlMoqwAAAHNSAAAASW50ZXJuYWwgY2xhc3MuCgogICAgQmFzZSBjbGFzcyB3aGljaCBkZWZpbmVzIG1ldGhvZHMgY29tbW9uIGZvciBpbnRlcmlvciB3aWRnZXRzLmMBAAAAAgAAAAMAAABDAAAAc0MAAAB8AABqAABkAQBrCQByPwB4IQB8AABqAABEXRYAfQEAfAAAagIAagMAfAEAgwEAAXEZAFdkAQB8AABfAABuAABkAQBTKAIAAABzawAAAEludGVybmFsIGZ1bmN0aW9uLgoKICAgICAgICBEZWxldGUgYWxsIFRjbCBjb21tYW5kcyBjcmVhdGVkIGZvcgogICAgICAgIHRoaXMgd2lkZ2V0IGluIHRoZSBUY2wgaW50ZXJwcmV0ZXIuTigEAAAAdAwAAABfdGNsQ29tbWFuZHNSGQAAAFI+AAAAUlgAAAAoAgAAAFJGAAAAUkgAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAcAAABkZXN0cm95ewEAAHMIAAAAAAUPARACFAFjAgAAAAIAAAAFAAAAQwAAAHM8AAAAfAAAagAAagEAfAEAgwEAAXkUAHwAAGoCAGoDAHwBAIMBAAFXbhEABHQEAGsKAHI3AAEBAW4BAFhkAQBTKAIAAABzRAAAAEludGVybmFsIGZ1bmN0aW9uLgoKICAgICAgICBEZWxldGUgdGhlIFRjbCBjb21tYW5kIHByb3ZpZGVkIGluIE5BTUUuTigFAAAAUj4AAABSWAAAAFJuAAAAdAYAAAByZW1vdmVSNAAAACgCAAAAUkYAAABSSAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSWAAAAIUBAABzCgAAAAAFEAEDARQBDQFjAgAAAAIAAAAFAAAAQwAAAHMiAAAAfAAAagAAagEAfAAAagAAagIAZAEAZAIAfAEAgwMAgwEAUygDAAAAc98AAABTZXQgVGNsIGludGVybmFsIHZhcmlhYmxlLCB3aGV0aGVyIHRoZSBsb29rIGFuZCBmZWVsCiAgICAgICAgc2hvdWxkIGFkaGVyZSB0byBNb3RpZi4KCiAgICAgICAgQSBwYXJhbWV0ZXIgb2YgMSBtZWFucyBhZGhlcmUgdG8gTW90aWYgKGUuZy4gbm8gY29sb3IKICAgICAgICBjaGFuZ2UgaWYgbW91c2UgcGFzc2VzIG92ZXIgc2xpZGVyKS4KICAgICAgICBSZXR1cm5zIHRoZSBzZXQgdmFsdWUuUkMAAAB0DgAAAHRrX3N0cmljdE1vdGlmKAMAAABSPgAAAFJoAAAAUkQAAAAoAgAAAFJGAAAAdAcAAABib29sZWFuKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJxAAAAjwEAAHMEAAAAAAcSAWMBAAAAAQAAAAIAAABDAAAAcxQAAAB8AABqAABqAQBkAQCDAQABZAIAUygDAAAAc0QAAABDaGFuZ2UgdGhlIGNvbG9yIHNjaGVtZSB0byBsaWdodCBicm93biBhcyB1c2VkIGluIFRrIDMuNiBhbmQgYmVmb3JlLnQJAAAAdGtfYmlzcXVlTigCAAAAUj4AAABSRAAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UnMAAACYAQAAcwIAAAAAAmMBAAAAAwAAAAQAAABPAAAAcy4AAAB8AABqAABqAQBkAwB0AgB8AQCDAQAXdAIAfAIAagMAgwAAgwEAF4MBAAFkAgBTKAQAAABzCwIAAFNldCBhIG5ldyBjb2xvciBzY2hlbWUgZm9yIGFsbCB3aWRnZXQgZWxlbWVudHMuCgogICAgICAgIEEgc2luZ2xlIGNvbG9yIGFzIGFyZ3VtZW50IHdpbGwgY2F1c2UgdGhhdCBhbGwgY29sb3JzIG9mIFRrCiAgICAgICAgd2lkZ2V0IGVsZW1lbnRzIGFyZSBkZXJpdmVkIGZyb20gdGhpcy4KICAgICAgICBBbHRlcm5hdGl2ZWx5IHNldmVyYWwga2V5d29yZCBwYXJhbWV0ZXJzIGFuZCBpdHMgYXNzb2NpYXRlZAogICAgICAgIGNvbG9ycyBjYW4gYmUgZ2l2ZW4uIFRoZSBmb2xsb3dpbmcga2V5d29yZHMgYXJlIHZhbGlkOgogICAgICAgIGFjdGl2ZUJhY2tncm91bmQsIGZvcmVncm91bmQsIHNlbGVjdENvbG9yLAogICAgICAgIGFjdGl2ZUZvcmVncm91bmQsIGhpZ2hsaWdodEJhY2tncm91bmQsIHNlbGVjdEJhY2tncm91bmQsCiAgICAgICAgYmFja2dyb3VuZCwgaGlnaGxpZ2h0Q29sb3IsIHNlbGVjdEZvcmVncm91bmQsCiAgICAgICAgZGlzYWJsZWRGb3JlZ3JvdW5kLCBpbnNlcnRCYWNrZ3JvdW5kLCB0cm91Z2hDb2xvci50DQAAAHRrX3NldFBhbGV0dGVOKAEAAABzDQAAAHRrX3NldFBhbGV0dGUoBAAAAFI+AAAAUkQAAABSGAAAAFIiAAAAKAMAAABSRgAAAHQEAAAAYXJnc3QCAAAAa3coAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UnQAAACbAQAAcwQAAAAACwkBYwEAAAACAAAAAQAAAEcAAABzBAAAAGQBAFMoAgAAAHMpAAAARG8gbm90IHVzZS4gTmVlZGVkIGluIFRrIDMuNiBhbmQgZWFybGllci5OKAAAAAAoAgAAAFJGAAAAUnUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAoAAAB0a19tZW51QmFyqAEAAHMCAAAAAAJSOgAAAGMCAAAAAgAAAAQAAABDAAAAcxoAAAB8AABqAABqAQBkAQBkAgB8AQCDAwABZAMAUygEAAAAc4MAAABXYWl0IHVudGlsIHRoZSB2YXJpYWJsZSBpcyBtb2RpZmllZC4KCiAgICAgICAgQSBwYXJhbWV0ZXIgb2YgdHlwZSBJbnRWYXIsIFN0cmluZ1ZhciwgRG91YmxlVmFyIG9yCiAgICAgICAgQm9vbGVhblZhciBtdXN0IGJlIGdpdmVuLnQGAAAAdGt3YWl0UlEAAABOKAIAAABSPgAAAFJEAAAAKAIAAABSRgAAAFJIAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQNAAAAd2FpdF92YXJpYWJsZasBAABzAgAAAAAFYwIAAAACAAAABAAAAEMAAABzMgAAAHwBAGQDAGsIAHIVAHwAAH0BAG4AAHwAAGoBAGoCAGQBAGQCAHwBAGoDAIMDAAFkAwBTKAQAAABzUQAAAFdhaXQgdW50aWwgYSBXSURHRVQgaXMgZGVzdHJveWVkLgoKICAgICAgICBJZiBubyBwYXJhbWV0ZXIgaXMgZ2l2ZW4gc2VsZiBpcyB1c2VkLlJ4AAAAdAYAAAB3aW5kb3dOKAQAAABSGQAAAFI+AAAAUkQAAAB0AgAAAF93KAIAAABSRgAAAFJ6AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQLAAAAd2FpdF93aW5kb3eyAQAAcwYAAAAABAwBCQFjAgAAAAIAAAAEAAAAQwAAAHMyAAAAfAEAZAMAawgAchUAfAAAfQEAbgAAfAAAagEAagIAZAEAZAIAfAEAagMAgwMAAWQDAFMoBAAAAHN4AAAAV2FpdCB1bnRpbCB0aGUgdmlzaWJpbGl0eSBvZiBhIFdJREdFVCBjaGFuZ2VzCiAgICAgICAgKGUuZy4gaXQgYXBwZWFycykuCgogICAgICAgIElmIG5vIHBhcmFtZXRlciBpcyBnaXZlbiBzZWxmIGlzIHVzZWQuUngAAAB0CgAAAHZpc2liaWxpdHlOKAQAAABSGQAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSegAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DwAAAHdhaXRfdmlzaWJpbGl0ebkBAABzBgAAAAAFDAEJAXQBAAAAMWMDAAAAAwAAAAMAAABDAAAAcxcAAAB8AABqAABqAQB8AQB8AgCDAgABZAEAUygCAAAAcx8AAABTZXQgVGNsIHZhcmlhYmxlIE5BTUUgdG8gVkFMVUUuTigCAAAAUj4AAAB0BgAAAHNldHZhcigDAAAAUkYAAABSSAAAAFIGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKAAAAAwQEAAHMCAAAAAAJjAgAAAAIAAAACAAAAQwAAAHMQAAAAfAAAagAAagEAfAEAgwEAUygBAAAAcyIAAABSZXR1cm4gdmFsdWUgb2YgVGNsIHZhcmlhYmxlIE5BTUUuKAIAAABSPgAAAHQGAAAAZ2V0dmFyKAIAAABSRgAAAFJIAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKBAAAAxAEAAHMCAAAAAAJjAgAAAAIAAAACAAAAQwAAAHMQAAAAfAAAagAAagEAfAEAgwEAUygBAAAAc1AAAABSZXR1cm4gYSBib29sZWFuIHZhbHVlIGZvciBUY2wgYm9vbGVhbiB2YWx1ZXMgdHJ1ZSBhbmQgZmFsc2UgZ2l2ZW4gYXMgcGFyYW1ldGVyLigCAAAAUj4AAABSaAAAACgCAAAAUkYAAABSbAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSaAAAAMkBAABzAgAAAAACYwEAAAABAAAAAwAAAEMAAABzGgAAAHwAAGoAAGoBAGQBAHwAAGoCAIMCAAFkAgBTKAMAAABzzQAAAERpcmVjdCBpbnB1dCBmb2N1cyB0byB0aGlzIHdpZGdldC4KCiAgICAgICAgSWYgdGhlIGFwcGxpY2F0aW9uIGN1cnJlbnRseSBkb2VzIG5vdCBoYXZlIHRoZSBmb2N1cwogICAgICAgIHRoaXMgd2lkZ2V0IHdpbGwgZ2V0IHRoZSBmb2N1cyBpZiB0aGUgYXBwbGljYXRpb24gZ2V0cwogICAgICAgIHRoZSBmb2N1cyB0aHJvdWdoIHRoZSB3aW5kb3cgbWFuYWdlci50BQAAAGZvY3VzTigDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CQAAAGZvY3VzX3NldMwBAABzAgAAAAAGYwEAAAABAAAABAAAAEMAAABzHQAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAIMDAAFkAwBTKAQAAABzdAAAAERpcmVjdCBpbnB1dCBmb2N1cyB0byB0aGlzIHdpZGdldCBldmVuIGlmIHRoZQogICAgICAgIGFwcGxpY2F0aW9uIGRvZXMgbm90IGhhdmUgdGhlIGZvY3VzLiBVc2Ugd2l0aAogICAgICAgIGNhdXRpb24hUoIAAABzBgAAAC1mb3JjZU4oAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAsAAABmb2N1c19mb3JjZdQBAABzAgAAAAAEYwEAAAACAAAAAwAAAEMAAABzNgAAAHwAAGoAAGoBAGQBAIMBAH0BAHwBAGQCAGsCAHMlAHwBAAxyKQBkAwBTfAAAagMAfAEAgwEAUygEAAAAc9QAAABSZXR1cm4gdGhlIHdpZGdldCB3aGljaCBoYXMgY3VycmVudGx5IHRoZSBmb2N1cyBpbiB0aGUKICAgICAgICBhcHBsaWNhdGlvbi4KCiAgICAgICAgVXNlIGZvY3VzX2Rpc3BsYXlvZiB0byBhbGxvdyB3b3JraW5nIHdpdGggc2V2ZXJhbAogICAgICAgIGRpc3BsYXlzLiBSZXR1cm4gTm9uZSBpZiBhcHBsaWNhdGlvbiBkb2VzIG5vdCBoYXZlCiAgICAgICAgdGhlIGZvY3VzLlKCAAAAdAQAAABub25lTigEAAAAUj4AAABSRAAAAFIZAAAAdA0AAABfbmFtZXRvd2lkZ2V0KAIAAABSRgAAAFJIAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQJAAAAZm9jdXNfZ2V02QEAAHMIAAAAAAcSARMABAFjAQAAAAIAAAAEAAAAQwAAAHM/AAAAfAAAagAAagEAZAEAZAIAfAAAagIAgwMAfQEAfAEAZAMAawIAcy4AfAEADHIyAGQEAFN8AABqBAB8AQCDAQBTKAUAAABzpQAAAFJldHVybiB0aGUgd2lkZ2V0IHdoaWNoIGhhcyBjdXJyZW50bHkgdGhlIGZvY3VzIG9uIHRoZQogICAgICAgIGRpc3BsYXkgd2hlcmUgdGhpcyB3aWRnZXQgaXMgbG9jYXRlZC4KCiAgICAgICAgUmV0dXJuIE5vbmUgaWYgdGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IGhhdmUgdGhlIGZvY3VzLlKCAAAAcwoAAAAtZGlzcGxheW9mUoUAAABOKAUAAABSPgAAAFJEAAAAUnsAAABSGQAAAFKGAAAAKAIAAABSRgAAAFJIAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQPAAAAZm9jdXNfZGlzcGxheW9m4wEAAHMIAAAAAAUbARMABAFjAQAAAAIAAAAEAAAAQwAAAHM/AAAAfAAAagAAagEAZAEAZAIAfAAAagIAgwMAfQEAfAEAZAMAawIAcy4AfAEADHIyAGQEAFN8AABqBAB8AQCDAQBTKAUAAABzeQAAAFJldHVybiB0aGUgd2lkZ2V0IHdoaWNoIHdvdWxkIGhhdmUgdGhlIGZvY3VzIGlmIHRvcCBsZXZlbAogICAgICAgIGZvciB0aGlzIHdpZGdldCBnZXRzIHRoZSBmb2N1cyBmcm9tIHRoZSB3aW5kb3cgbWFuYWdlci5SggAAAHMIAAAALWxhc3Rmb3JShQAAAE4oBQAAAFI+AAAAUkQAAABSewAAAFIZAAAAUoYAAAAoAgAAAFJGAAAAUkgAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA0AAABmb2N1c19sYXN0Zm9y6wEAAHMIAAAAAAMbARMABAFjAQAAAAEAAAACAAAAQwAAAHMUAAAAfAAAagAAagEAZAEAgwEAAWQCAFMoAwAAAHNYAAAAVGhlIHdpZGdldCB1bmRlciBtb3VzZSB3aWxsIGdldCBhdXRvbWF0aWNhbGx5IGZvY3VzLiBDYW4gbm90CiAgICAgICAgYmUgZGlzYWJsZWQgZWFzaWx5LnQUAAAAdGtfZm9jdXNGb2xsb3dzTW91c2VOKAIAAABSPgAAAFJEAAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSigAAAPEBAABzAgAAAAADYwEAAAACAAAAAwAAAEMAAABzLwAAAHwAAGoAAGoBAGQBAHwAAGoCAIMCAH0BAHwBAHMiAGQCAFN8AABqBAB8AQCDAQBTKAMAAABzbgEAAFJldHVybiB0aGUgbmV4dCB3aWRnZXQgaW4gdGhlIGZvY3VzIG9yZGVyIHdoaWNoIGZvbGxvd3MKICAgICAgICB3aWRnZXQgd2hpY2ggaGFzIGN1cnJlbnRseSB0aGUgZm9jdXMuCgogICAgICAgIFRoZSBmb2N1cyBvcmRlciBmaXJzdCBnb2VzIHRvIHRoZSBuZXh0IGNoaWxkLCB0aGVuIHRvCiAgICAgICAgdGhlIGNoaWxkcmVuIG9mIHRoZSBjaGlsZCByZWN1cnNpdmVseSBhbmQgdGhlbiB0byB0aGUKICAgICAgICBuZXh0IHNpYmxpbmcgd2hpY2ggaXMgaGlnaGVyIGluIHRoZSBzdGFja2luZyBvcmRlci4gIEEKICAgICAgICB3aWRnZXQgaXMgb21pdHRlZCBpZiBpdCBoYXMgdGhlIHRha2Vmb2N1cyByZXNvdXJj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IHRoZSBvcHRpb25hbCBkaXNwbGF5b2Yga2V5d29yZAogICAgICAgIGFyZ3VtZW50IHNwZWNpZmllcyB0aGUgdGFyZ2V0IGRpc3BsYXkuIFRoZSBjbGlwYm9hcmQKICAgICAgICBjYW4gYmUgcmV0cmlldmVkIHdpdGggc2VsZWN0aW9uX2dldC5SmwAAAFKeAAAAdAYAAABhcHBlbmRzAgAAAC0tTigCAAAAcwkAAABjbGlwYm9hcmRzBgAAAGFwcGVuZCgEAAAAUnsAAABSPgAAAFJEAAAAUqAAAAAoAwAAAFJGAAAAdAYAAABzdHJpbmdSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0EAAAAGNsaXBib2FyZF9hcHBlbmRTAgAAcwgAAAAABgwAEAEJAWMBAAAAAgAAAAQAAABDAAAAczIAAAB8AABqAABqAQBkAQBkAgB8AABqAgCDAwB9AQB8AQBzJQBkAwBTfAAAagQAfAEAgwEAUygEAAAAc08AAABSZXR1cm4gd2lkZ2V0IHdoaWNoIGhhcyBjdXJyZW50bHkgdGhlIGdyYWIgaW4gdGhpcyBhcHBsaWNhdGlvbgogICAgICAgIG9yIE5vbmUudAQAAABncmFidAcAAABjdXJyZW50TigFAAAAUj4AAABSRAAAAFJ7AAAAUhkAAABShgAAACgCAAAAUkYAAABSSAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DAAAAGdyYWJfY3VycmVudF0CAABzCAAAAAADGwEGAAQBYwEAAAABAAAABAAAAEMAAABzHQAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAIMDAAFkAwBTKAQAAABzLgAAAFJlbGVhc2UgZ3JhYiBmb3IgdGhpcyB3aWRnZXQgaWYgY3VycmVudGx5IHNldC5SpwAAAHQHAAAAcmVsZWFzZU4oAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAwAAABncmFiX3JlbGVhc2VjAgAAcwIAAAAAAmMBAAAAAQAAAAQAAABDAAAAcx0AAAB8AABqAABqAQBkAQBkAgB8AABqAgCDAwABZAMAUygEAAAAc3cAAABTZXQgZ3JhYiBmb3IgdGhpcyB3aWRnZXQuCgogICAgICAgIEEgZ3JhYiBkaXJlY3RzIGFsbCBldmVudHMgdG8gdGhpcyBhbmQgZGVzY2VuZGFudAogICAgICAgIHdpZGdldHMgaW4gdGhlIGFwcGxpY2F0aW9uLlKnAAAAUkMAAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQIAAAAZ3JhYl9zZXRmAgAAcwIAAAAABWMBAAAAAQAAAAUAAABDAAAAcyAAAAB8AABqAABqAQBkAQBkAgBkAwB8AABqAgCDBAABZAQAUygFAAAAc8oAAABTZXQgZ2xvYmFsIGdyYWIgZm9yIHRoaXMgd2lkZ2V0LgoKICAgICAgICBBIGdsb2JhbCBncmFiIGRpcmVjdHMgYWxsIGV2ZW50cyB0byB0aGlzIGFuZAogICAgICAgIGRlc2NlbmRhbnQgd2lkZ2V0cyBvbiB0aGUgZGlzcGxheS4gVXNlIHdpdGggY2F1dGlvbiAtCiAgICAgICAgb3RoZXIgYXBwbGljYXRpb25zIGRvIG5vdCBnZXQgZXZlbnRzIGFueW1vcmUuUqcAAABSQwAAAHMHAAAALWdsb2JhbE4oAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA8AAABncmFiX3NldF9nbG9iYWxsAgAAcwIAAAAABmMBAAAAAgAAAAQAAABDAAAAczQAAAB8AABqAABqAQBkAQBkAgB8AABqAgCDAwB9AQB8AQBkAwBrAgByMABkBAB9AQBuAAB8AQBTKAUAAABzWQAAAFJldHVybiBOb25lLCAibG9jYWwiIG9yICJnbG9iYWwiIGlmIHRoaXMgd2lkZ2V0IGhhcwogICAgICAgIG5vLCBhIGxvY2FsIG9yIGEgZ2xvYmFsIGdyYWIuUqcAAAB0BgAAAHN0YXR1c1KFAAAATigEAAAAUj4AAABSRAAAAFJ7AAAAUhkAAAAoAgAAAFJGAAAAUq4AAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAsAAABncmFiX3N0YXR1c3MCAABzCAAAAAADGwEMAAkBYwQAAAAEAAAABgAAAEMAAABzIAAAAHwAAGoAAGoBAGQBAGQCAHwBAHwCAHwDAIMFAAFkAwBTKAQAAABzqQAAAFNldCBhIFZBTFVFIChzZWNvbmQgcGFyYW1ldGVyKSBmb3IgYW4gb3B0aW9uCiAgICAgICAgUEFUVEVSTiAoZmlyc3QgcGFyYW1ldGVyKS4KCiAgICAgICAgQW4gb3B0aW9uYWwgdGhpcmQgcGFyYW1ldGVyIGdpdmVzIHRoZSBudW1lcmljIHByaW9yaXR5CiAgICAgICAgKGRlZmF1bHRzIHRvIDgwKS50BgAAAG9wdGlvbnQDAAAAYWRkTigCAAAAUj4AAABSRAAAACgEAAAAUkYAAAB0BwAAAHBhdHRlcm5SBgAAAHQIAAAAcHJpb3JpdHkoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAoAAABvcHRpb25fYWRkeQIAAHMCAAAAAAZjAQAAAAEAAAADAAAAQwAAAHMXAAAAfAAAagAAagEAZAEAZAIAgwIAAWQDAFMoBAAAAHNQAAAAQ2xlYXIgdGhlIG9wdGlvbiBkYXRhYmFzZS4KCiAgICAgICAgSXQgd2lsbCBiZSByZWxvYWRlZCBpZiBvcHRpb25fYWRkIGlzIGNhbGxlZC5SsAAAAFKiAAAATigCAAAAUj4AAABSRAAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAwAAABvcHRpb25fY2xlYXKAAgAAcwIAAAAABGMDAAAAAwAAAAYAAABDAAAAcx8AAAB8AABqAABqAQBkAQBkAgB8AABqAgB8AQB8AgCDBQBTKAMAAABzhwAAAFJldHVybiB0aGUgdmFsdWUgZm9yIGFuIG9wdGlvbiBOQU1FIGZvciB0aGlzIHdpZGdldAogICAgICAgIHdpdGggQ0xBU1NOQU1FLgoKICAgICAgICBWYWx1ZXMgd2l0aCBoaWdoZXIgcHJpb3JpdHkgb3ZlcnJpZGUgbG93ZXIgdmFsdWVzLlKwAAAAUk8AAAAoAwAAAFI+AAAAUkQAAABSewAAACgDAAAAUkYAAABSSAAAAHQJAAAAY2xhc3NOYW1lKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtp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fAAAagQAfAMAZgIAF4MBAAFkAwBTKAUAAABzAQIAAFNwZWNpZnkgYSBmdW5jdGlvbiBDT01NQU5EIHRvIGNhbGwgaWYgdGhlIFgKICAgICAgICBzZWxlY3Rpb24gb3duZWQgYnkgdGhpcyB3aWRnZXQgaXMgcXVlcmllZCBieSBhbm90aGVyCiAgICAgICAgYXBwbGljYXRpb24uCgogICAgICAgIFRoaXMgZnVuY3Rpb24gbXVzdCByZXR1cm4gdGhlIGNvbnRlbnRzIG9mIHRoZQogICAgICAgIHNlbGVjdGlvbi4gVGhlIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlCiAgICAgICAgYXJndW1lbnRzIE9GRlNFVCBhbmQgTEVOR1RIIHdoaWNoIGFsbG93cyB0aGUgY2h1bmtpbmcKICAgICAgICBvZiB2ZXJ5IGxvbmcgc2VsZWN0aW9ucy4gVGhlIGZvbGxvd2luZyBrZXl3b3JkCiAgICAgICAgcGFyYW1ldGVycyBjYW4gYmUgcHJvdmlkZWQ6CiAgICAgICAgc2VsZWN0aW9uIC0gbmFtZSBvZiB0aGUgc2VsZWN0aW9uIChkZWZhdWx0IFBSSU1BUlkpLAogICAgICAgIHR5cGUgLSB0eXBlIG9mIHRoZSBzZWxlY3Rpb24gKGUuZy4gU1RSSU5HLCBGSUxFX05BTUUpLlK7AAAAdAYAAABoYW5kbGVOKAIAAABzCQAAAHNlbGVjdGlvblK+AAAAKAUAAABSUgAAAFI+AAAAUkQAAABSoAAAAFJ7AAAAKAQAAABSRgAAAHQHAAAAY29tbWFuZFJ2AAAAUkgAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBAAAABzZWxlY3Rpb25faGFuZGxlpgIAAHMGAAAAAAwPAQkBYwEAAAACAAAABAAAAEsAAABzKwAAAHwAAGoAAGoBAGQEAHwAAGoCAHwBAIMBABd8AABqAwBmAQAXgwEAAWQDAFMoBQAAAHOCAAAAQmVjb21l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ZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAcAAAB0a3JhaXNlzQIAAHMCAAAAAAJjAgAAAAIAAAAFAAAAQwAAAHMcAAAAfAAAagAAagEAZAEAZAIAfAAAagIAfAEAgwQAUygDAAAAcx8AAABVc2VsZXNzLiBOb3QgaW1wbGVtZW50ZWQgaW4gVGsuUj4AAAB0CgAAAGNvbG9ybW9kZWwoAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSBgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSzAAAANECAABzAgAAAAACYwMAAAAEAAAAAwAAAEMAAABzMAAAAGQDAHwAAGoAAHwCAIMBABd8AQBmAQAXfQMAdAEAfAAAagIAagMAfAMAgwEAgwEAUygEAAAAcyoAAABSZXR1cm4gaW50ZWdlciB3aGljaCByZXByZXNlbnRzIGF0b20gTkFNRS50BQAAAHdpbmZvdAQAAABhdG9tKAIAAABSzQAAAFLOAAAAKAQAAABSmgAAAFJkAAAAUj4AAABSRAAAACgEAAAAUkYAAABSSAAAAFKbAAAAUnUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAoAAAB3aW5mb19hdG9t1AIAAHMEAAAAAAIaAWMDAAAABAAAAAMAAABDAAAAcyoAAABkAwB8AABqAAB8AgCDAQAXfAEAZgEAF30DAHwAAGoBAGoCAHwDAIMBAFMoBAAAAHMnAAAAUmV0dXJuIG5hbWUgb2YgYXRvbSB3aXRoIGlkZW50aWZpZXIgSUQuUs0AAAB0CAAAAGF0b21uYW1lKAIAAABzBQAAAHdpbmZvUtAAAAAoAwAAAFKaAAAAUj4AAABSRAAAACgEAAAAUkYAAABSlQAAAFKbAAAAUnUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA4AAAB3aW5mb19hdG9tbmFtZdgCAABzBAAAAAADGgFjAQAAAAEAAAAFAAAAQwAAAHMfAAAAdAAAfAAAagEAagIAZAEAZAIAfAAAagMAgwMAgwEAUygDAAAAczcAAABSZXR1cm4gbnVtYmVyIG9mIGNlbGxzIGluIHRoZSBjb2xvcm1hcCBmb3IgdGhpcyB3aWRnZXQuUs0AAAB0BQAAAGNlbGxzKAQAAABSZAAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAsAAAB3aW5mb19jZWxsc90CAABzBAAAAAACAwFjAQAAAAMAAAAGAAAAQwAAAHNqAAAAZwAAfQEAeF0AfAAAagAAagEAfAAAagAAagIAZAEAZAIAfAAAagMAgwMAgwEARF00AH0CAHkaAHwBAGoEAHwAAGoFAHwCAIMBAIMBAAFXcS4ABHQGAGsKAHJhAAEBAXEuAFhxLgBXfAEAUygDAAAAcz8AAABSZXR1cm4gYSBsaXN0IG9mIGFsbCB3aWRnZXRzIHdoaWNoIGFyZSBjaGlsZHJlbiBvZiB0aGlzIHdpZGdldC5SzQAAAHQIAAAAY2hpbGRyZW4oBwAAAFI+AAAAUlwAAABSRAAAAFJ7AAAAUqQAAABShgAAAHQIAAAAS2V5RXJyb3IoAwAAAFJGAAAAdAYAAAByZXN1bHR0BQAAAGNoaWxkKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQOAAAAd2luZm9fY2hpbGRyZW7hAgAAcxAAAAAAAgYBDAEiAQMDGgENAQgBYwEAAAABAAAABAAAAEMAAABzGQAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAIMDAFMoAwAAAHMoAAAAUmV0dXJuIHdpbmRvdyBjbGFzcyBuYW1lIG9mIHRoaXMgd2lkZ2V0LlLNAAAAdAUAAABjbGFzcygDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAHdpbmZvX2NsYXNz7gIAAHMCAAAAAAJjAQAAAAEAAAAFAAAAQwAAAHMlAAAAfAAAagAAagEAfAAAagAAagIAZAEAZAIAfAAAagMAgwMAgwEAUygDAAAAcz8AAABSZXR1cm4gdHJ1ZSBpZiBhdCB0aGUgbGFzdCBjb2xvciByZXF1ZXN0IHRoZSBjb2xvcm1hcCB3YXMgZnVsbC5SzQAAAHQMAAAAY29sb3JtYXBmdWxsKAQAAABSPgAAAFJoAAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBIAAAB3aW5mb19jb2xvcm1hcGZ1bGzxAgAAcwQAAAAAAgkBYwQAAAAGAAAAAwAAAEMAAABzRgAAAGQDAHwAAGoAAHwDAIMBABd8AQB8AgBmAgAXfQQAfAAAagEAagIAfAQAgwEAfQUAfAUAczkAZAQAU3wAAGoEAHwFAIMBAFMoBQAAAHNAAAAAUmV0dXJuIHRoZSB3aWRnZXQgd2hpY2ggaXMgYXQgdGhlIHJvb3QgY29vcmRpbmF0ZXMgUk9PVFgsIFJPT1RZLlLNAAAAdAoAAABjb250YWluaW5nKAIAAABzBQAAAHdpbmZvUt0AAABOKAUAAABSmgAAAFI+AAAAUkQAAABSGQAAAFKGAAAAKAYAAABSRgAAAHQFAAAAcm9vdFh0BQAAAHJvb3RZUpsAAABSdQAAAFJIAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQQAAAAd2luZm9fY29udGFpbmluZ/UCAABzCgAAAAADHQESAQYABAFjAQAAAAEAAAAFAAAAQwAAAHMfAAAAdAAAfAAAagEAagIAZAEAZAIAfAAAagMAgwMAgwEAUygDAAAAcyQAAABSZXR1cm4gdGhlIG51bWJlciBvZiBiaXRzIHBlciBwaXhlbC5SzQAAAHQFAAAAZGVwdGgoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAHdpbmZvX2RlcHRo/AIAAHMCAAAAAAJjAQAAAAEAAAAFAAAAQwAAAHMfAAAAdAAAfAAAagEAagIAZAEAZAIAfAAAagMAgwMAgwEAUygDAAAAcyIAAABSZXR1cm4gdHJ1ZSBpZiB0aGlzIHdpZGdldCBleGlzdHMuUs0AAABSPAAAACgEAAAAUmQAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQMAAAAd2luZm9fZXhpc3Rz/wIAAHMEAAAAAAIDAWMCAAAAAgAAAAYAAABDAAAAcyIAAAB0AAB8AABqAQBqAgBkAQBkAgB8AABqAwB8AQCDBACDAQBTKAMAAABzVwAAAFJldHVybiB0aGUgbnVtYmVyIG9mIHBpeGVscyBmb3IgdGhlIGdpdmVuIGRpc3RhbmNlIE5VTUJFUgogICAgICAgIChlLmcuICIzYyIpIGFzIGZsb2F0LlLNAAAAdAcAAABmcGl4ZWxzKAQAAABSZgAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAAB0BgAAAG51bWJlcigAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAHdpbmZvX2ZwaXhlbHMDAwAAcwQAAAAAAwwBYwEAAAABAAAABAAAAEMAAABzGQAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAIMDAFMoAwAAAHNGAAAAUmV0dXJuIGdlb21ldHJ5IHN0cmluZyBmb3IgdGhpcyB3aWRnZXQgaW4gdGhlIGZvcm0gIndpZHRoeGhlaWdodCtYK1kiLlLNAAAAdAgAAABnZW9tZXRyeSgDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DgAAAHdpbmZvX2dlb21ldHJ5CAMAAHMCAAAAAAJjAQAAAAEAAAAFAAAAQwAAAHMfAAAAdAAAfAAAagEAagIAZAEAZAIAfAAAagMAgwMAgwEAUygDAAAAcx0AAABSZXR1cm4gaGVpZ2h0IG9mIHRoaXMgd2lkZ2V0LlLNAAAAdAYAAABoZWlnaHQoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DAAAAHdpbmZvX2hlaWdodAsDAABzBAAAAAACAwFjAQAAAAEAAAAFAAAAQwAAAHMlAAAAfAAAagAAagEAfAAAagAAagIAZAEAZAIAfAAAagMAgwMAgwEAUygDAAAAcyUAAABSZXR1cm4gaWRlbnRpZmllciBJRCBmb3IgdGhpcyB3aWRnZXQuUs0AAABSlQAAACgEAAAAUj4AAABSZAAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQIAAAAd2luZm9faWQPAwAAcwQAAAAAAgkBYwIAAAADAAAAAwAAAEMAAABzLwAAAGQDAHwAAGoAAHwBAIMBABd9AgB8AABqAQBqAgB8AABqAQBqAwB8AgCDAQCDAQBTKAQAAABzOQAAAFJldHVybiB0aGUgbmFtZSBvZiBhbGwgVGNsIGludGVycHJldGVycyBmb3IgdGhpcyBkaXNwbGF5LlLNAAAAdAcAAABpbnRlcnBzKAIAAABzBQAAAHdpbmZvUuwAAAAoBAAAAFKaAAAAUj4AAABSXAAAAFJEAAAAKAMAAABSRgAAAFKbAAAAUnUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA0AAAB3aW5mb19pbnRlcnBzEwMAAHMEAAAAAAITAWMBAAAAAQAAAAUAAABDAAAAcx8AAAB0AAB8AABqAQBqAgBkAQBkAgB8AABqAwCDAwCDAQBTKAMAAABzJQAAAFJldHVybiB0cnVlIGlmIHRoaXMgd2lkZ2V0IGlzIG1hcHBlZC5SzQAAAHQIAAAAaXNtYXBwZWQoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DgAAAHdpbmZvX2lzbWFwcGVkFwMAAHMEAAAAAAIDAWMBAAAAAQAAAAQAAABDAAAAcxkAAAB8AABqAABqAQBkAQBkAgB8AABqAgCDAwBTKAMAAABzMAAAAFJldHVybiB0aGUgd2luZG93IG1hbmFuZ2VyIG5hbWUgZm9yIHRoaXMgd2lkZ2V0LlLNAAAAdAcAAABtYW5hZ2VyKAMAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQNAAAAd2luZm9fbWFuYWdlchsDAABzAgAAAAACYwEAAAABAAAABAAAAEMAAABzGQAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAIMDAFMoAwAAAHMfAAAAUmV0dXJuIHRoZSBuYW1lIG9mIHRoaXMgd2lkZ2V0LlLNAAAAUkgAAAAoAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAoAAAB3aW5mb19uYW1lHgMAAHMCAAAAAAJjAQAAAAEAAAAEAAAAQwAAAHMZAAAAfAAAagAAagEAZAEAZAIAfAAAagIAgwMAUygDAAAAcy0AAABSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIHBhcmVudCBvZiB0aGlzIHdpZGdldC5SzQAAAHQGAAAAcGFyZW50KAMAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQMAAAAd2luZm9fcGFyZW50IQMAAHMCAAAAAAJjAwAAAAQAAAADAAAAQwAAAHMqAAAAZAMAfAAAagAAfAIAgwEAF3wBAGYBABd9AwB8AABqAQBqAgB8AwCDAQBTKAQAAABzLgAAAFJldHVybiB0aGUgcGF0aG5hbWUgb2YgdGhlIHdpZGdldCBnaXZlbiBieSBJRC5SzQAAAHQIAAAAcGF0aG5hbWUoAgAAAHMFAAAAd2luZm9S9QAAACgDAAAAUpoAAABSPgAAAFJEAAAAKAQAAABSRgAAAFKVAAAAUpsAAABSdQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DgAAAHdpbmZvX3BhdGhuYW1lJAMAAHMEAAAAAAMaAWMCAAAAAgAAAAYAAABDAAAAcyIAAAB0AAB8AABqAQBqAgBkAQBkAgB8AABqAwB8AQCDBACDAQBTKAMAAABzJwAAAFJvdW5kZWQgaW50ZWdlciB2YWx1ZSBvZiB3aW5mb19mcGl4ZWxzLlLNAAAAdAYAAABwaXhlbHMoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFLlAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQMAAAAd2luZm9fcGl4ZWxzKQMAAHMEAAAAAAIDAWMBAAAAAQAAAAUAAABDAAAAcx8AAAB0AAB8AABqAQBqAgBkAQBkAgB8AABqAwCDAwCDAQBTKAMAAABzOgAAAFJldHVybiB0aGUgeCBjb29yZGluYXRlIG9mIHRoZSBwb2ludGVyIG9uIHRoZSByb290IHdpbmRvdy5SzQAAAHQIAAAAcG9pbnRlcngoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DgAAAHdpbmZvX3BvaW50ZXJ4LQMAAHMEAAAAAAIDAWMBAAAAAQAAAAUAAABDAAAAcyIAAAB8AABqAAB8AABqAQBqAgBkAQBkAgB8AABqAwCDAwCDAQBTKAMAAABzSAAAAFJldHVybiBhIHR1cGxlIG9mIHggYW5kIHkgY29vcmRpbmF0ZXMgb2YgdGhlIHBvaW50ZXIgb24gdGhlIHJvb3Qgd2luZG93LlLNAAAAdAkAAABwb2ludGVyeHkoBAAAAHQIAAAAX2dldGludHNSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQPAAAAd2luZm9fcG9pbnRlcnh5MQMAAHMEAAAAAAIGAWMBAAAAAQAAAAUAAABDAAAAcx8AAAB0AAB8AABqAQBqAgBkAQBkAgB8AABqAwCDAwCDAQBTKAMAAABzOgAAAFJldHVybiB0aGUgeSBjb29yZGluYXRlIG9mIHRoZSBwb2ludGVyIG9uIHRoZSByb290IHdpbmRvdy5SzQAAAHQIAAAAcG9pbnRlcnkoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DgAAAHdpbmZvX3BvaW50ZXJ5NQMAAHMEAAAAAAIDAWMBAAAAAQAAAAUAAABDAAAAcx8AAAB0AAB8AABqAQBqAgBkAQBkAgB8AABqAwCDAwCDAQBTKAMAAABzJwAAAFJldHVybiByZXF1ZXN0ZWQgaGVpZ2h0IG9mIHRoaXMgd2lkZ2V0LlLNAAAAdAkAAAByZXFoZWlnaHQoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DwAAAHdpbmZvX3JlcWhlaWdodDkDAABzBAAAAAACAwFjAQAAAAEAAAAFAAAAQwAAAHMfAAAAdAAAfAAAagEAagIAZAEAZAIAfAAAagMAgwMAgwEAUygDAAAAcyYAAABSZXR1cm4gcmVxdWVzdGVkIHdpZHRoIG9mIHRoaXMgd2lkZ2V0LlLNAAAAdAgAAAByZXF3aWR0aCgEAAAAUmQAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQOAAAAd2luZm9fcmVxd2lkdGg9AwAAcwQAAAAAAgMBYwIAAAACAAAABgAAAEMAAABzJQAAAHwAAGoAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAHwBAIMEAIMBAFMoAwAAAHNVAAAAUmV0dXJuIHR1cGxlIG9mIGRlY2ltYWwgdmFsdWVzIGZvciByZWQsIGdyZWVuLCBibHVlIGZvcgogICAgICAgIENPTE9SIGluIHRoaXMgd2lkZ2V0LlLNAAAAdAMAAAByZ2IoBAAAAFL8AAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAHQFAAAAY29sb3IoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAkAAAB3aW5mb19yZ2JBAwAAcwQAAAAAAwYBYwEAAAABAAAABQAAAEMAAABzHwAAAHQAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAIMDAIMBAFMoAwAAAHNTAAAAUmV0dXJuIHggY29vcmRpbmF0ZSBvZiB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGlzIHdpZGdldCBvbiB0aGUKICAgICAgICByb290IHdpbmRvdy5SzQAAAHQFAAAAcm9vdHgoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAHdpbmZvX3Jvb3R4RgMAAHMEAAAAAAMDAWMBAAAAAQAAAAUAAABDAAAAcx8AAAB0AAB8AABqAQBqAgBkAQBkAgB8AABqAwCDAwCDAQBTKAMAAABzUwAAAFJldHVybiB5IGNvb3JkaW5hdGUgb2YgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhpcyB3aWRnZXQgb24gdGhlCiAgICAgICAgcm9vdCB3aW5kb3cuUs0AAAB0BQAAAHJvb3R5KAQAAABSZAAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAsAAAB3aW5mb19yb290eUsDAABzBAAAAAADAwFjAQAAAAEAAAAEAAAAQwAAAHMZAAAAfAAAagAAagEAZAEAZAIAfAAAagIAgwMAUygDAAAAcyYAAABSZXR1cm4gdGhlIHNjcmVlbiBuYW1lIG9mIHRoaXMgd2lkZ2V0LlLNAAAAdAYAAABzY3JlZW4oAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAwAAAB3aW5mb19zY3JlZW5QAwAAcwIAAAAAAmMBAAAAAQAAAAUAAABDAAAAcx8AAAB0AAB8AABqAQBqAgBkAQBkAgB8AABqAwCDAwCDAQBTKAMAAABzVAAAAFJldHVybiB0aGUgbnVtYmVyIG9mIHRoZSBjZWxscyBpbiB0aGUgY29sb3JtYXAgb2YgdGhlIHNjcmVlbgogICAgICAgIG9mIHRoaXMgd2lkZ2V0LlLNAAAAdAsAAABzY3JlZW5jZWxscygEAAAAUmQAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQRAAAAd2luZm9fc2NyZWVuY2VsbHNTAwAAcwQAAAAAAwMBYwEAAAABAAAABQAAAEMAAABzHwAAAHQAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAIMDAIMBAFMoAwAAAHNcAAAAUmV0dXJuIHRoZSBudW1iZXIgb2YgYml0cyBwZXIgcGl4ZWwgb2YgdGhlIHJvb3Qgd2luZG93IG9mIHRoZQogICAgICAgIHNjcmVlbiBvZiB0aGlzIHdpZGdldC5SzQAAAHQLAAAAc2NyZWVuZGVwdGgoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0EQAAAHdpbmZvX3NjcmVlbmRlcHRoWAMAAHMEAAAAAAMDAWMBAAAAAQAAAAUAAABDAAAAcx8AAAB0AAB8AABqAQBqAgBkAQBkAgB8AABqAwCDAwCDAQBTKAMAAABzWAAAAFJldHVybiB0aGUgbnVtYmVyIG9mIHBpeGVscyBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBzY3JlZW4gb2YgdGhpcyB3aWRnZXQKICAgICAgICBpbiBwaXhlbC5SzQAAAHQMAAAAc2NyZWVuaGVpZ2h0KAQAAABSZAAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBIAAAB3aW5mb19zY3JlZW5oZWlnaHRdAwAAcwQAAAAAAwMBYwEAAAABAAAABQAAAEMAAABzHwAAAHQAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAIMDAIMBAFMoAwAAAHNVAAAAUmV0dXJuIHRoZSBudW1iZXIgb2YgcGl4ZWxzIG9mIHRoZSBoZWlnaHQgb2YgdGhlIHNjcmVlbiBvZgogICAgICAgIHRoaXMgd2lkZ2V0IGluIG1tLlLNAAAAdA4AAABzY3JlZW5tbWhlaWdodCgEAAAAUmQAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQUAAAAd2luZm9fc2NyZWVubW1oZWlnaHRiAwAAcwQAAAAAAwMBYwEAAAABAAAABQAAAEMAAABzHwAAAHQAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAIMDAIMBAFMoAwAAAHNUAAAAUmV0dXJuIHRoZSBudW1iZXIgb2YgcGl4ZWxzIG9mIHRoZSB3aWR0aCBvZiB0aGUgc2NyZWVuIG9mCiAgICAgICAgdGhpcyB3aWRnZXQgaW4gbW0uUs0AAAB0DQAAAHNjcmVlbm1td2lkdGgoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0EwAAAHdpbmZvX3NjcmVlbm1td2lkdGhnAwAAcwQAAAAAAwMBYwEAAAABAAAABAAAAEMAAABzGQAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAIMDAFMoAwAAAHOfAAAAUmV0dXJuIG9uZSBvZiB0aGUgc3RyaW5ncyBkaXJlY3Rjb2xvciwgZ3JheXNjYWxlLCBwc2V1ZG9jb2xvciwKICAgICAgICBzdGF0aWNjb2xvciwgc3RhdGljZ3JheSwgb3IgdHJ1ZWNvbG9yIGZvciB0aGUgZGVmYXVsdAogICAgICAgIGNvbG9ybW9kZWwgb2YgdGhpcyBzY3JlZW4uUs0AAAB0DAAAAHNjcmVlbnZpc3VhbCgDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0EgAAAHdpbmZvX3NjcmVlbnZpc3VhbGwDAABzAgAAAAAEYwEAAAABAAAABQAAAEMAAABzHwAAAHQAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAIMDAIMBAFMoAwAAAHNXAAAAUmV0dXJuIHRoZSBudW1iZXIgb2YgcGl4ZWxzIG9mIHRoZSB3aWR0aCBvZiB0aGUgc2NyZWVuIG9mCiAgICAgICAgdGhpcyB3aWRnZXQgaW4gcGl4ZWwuUs0AAAB0CwAAAHNjcmVlbndpZHRoKAQAAABSZAAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBEAAAB3aW5mb19zY3JlZW53aWR0aHEDAABzBAAAAAADAwFjAQAAAAEAAAAEAAAAQwAAAHMZAAAAfAAAagAAagEAZAEAZAIAfAAAagIAgwMAUygDAAAAc3gAAABSZXR1cm4gaW5mb3JtYXRpb24gb2YgdGhlIFgtU2VydmVyIG9mIHRoZSBzY3JlZW4gb2YgdGhpcyB3aWRnZXQgaW4KICAgICAgICB0aGUgZm9ybSAiWG1ham9yUm1pbm9yIHZlbmRvciB2ZW5kb3JWZXJzaW9uIi5SzQAAAHQGAAAAc2VydmVyKAMAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQMAAAAd2luZm9fc2VydmVydgMAAHMCAAAAAANjAQAAAAEAAAAFAAAAQwAAAHMiAAAAfAAAagAAfAAAagEAagIAZAEAZAIAfAAAagMAgwMAgwEAUygDAAAAcyoAAABSZXR1cm4gdGhlIHRvcGxldmVsIHdpZGdldCBvZiB0aGlzIHdpZGdldC5SzQAAAHQIAAAAdG9wbGV2ZWwoBAAAAFKGAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DgAAAHdpbmZvX3RvcGxldmVsegMAAHMEAAAAAAIPAWMBAAAAAQAAAAUAAABDAAAAcx8AAAB0AAB8AABqAQBqAgBkAQBkAgB8AABqAwCDAwCDAQBTKAMAAABzQgAAAFJldHVybiB0cnVlIGlmIHRoZSB3aWRnZXQgYW5kIGFsbCBpdHMgaGlnaGVyIGFuY2VzdG9ycyBhcmUgbWFwcGVkLlLNAAAAdAgAAAB2aWV3YWJsZSgEAAAAUmQAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQOAAAAd2luZm9fdmlld2FibGV+AwAAcwQAAAAAAgMBYwEAAAABAAAABAAAAEMAAABzGQAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAIMDAFMoAwAAAHOXAAAAUmV0dXJuIG9uZSBvZiB0aGUgc3RyaW5ncyBkaXJlY3Rjb2xvciwgZ3JheXNjYWxlLCBwc2V1ZG9jb2xvciwKICAgICAgICBzdGF0aWNjb2xvciwgc3RhdGljZ3JheSwgb3IgdHJ1ZWNvbG9yIGZvciB0aGUKICAgICAgICBjb2xvcm1vZGVsIG9mIHRoaXMgd2lkZ2V0LlLNAAAAdAYAAAB2aXN1YWwoAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAwAAAB3aW5mb192aXN1YWyCAwAAcwIAAAAABGMBAAAAAQAAAAQAAABDAAAAcxkAAAB8AABqAABqAQBkAQBkAgB8AABqAgCDAwBTKAMAAABzNwAAAFJldHVybiB0aGUgWCBpZGVudGlmaWVyIGZvciB0aGUgdmlzdWFsIGZvciB0aGlzIHdpZGdldC5SzQAAAHQIAAAAdmlzdWFsaWQoAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA4AAAB3aW5mb192aXN1YWxpZIcDAABzAgAAAAACYwIAAAADAAAACAAAAEMAAABzcAAAAHwAAGoAAGoBAHwAAGoAAGoCAGQBAGQCAHwAAGoDAHwBAHIqAGQDAHAtAGQEAIMEAIMBAH0CAHQFAHwCAIMBAHQGAGsIAHJgAHwAAGoAAGoBAHwCAIMBAGcBAH0CAG4AAHQHAHwAAGoIAHwCAIMCAFMoBQAAAHPeAAAAUmV0dXJuIGEgbGlzdCBvZiBhbGwgdmlzdWFscyBhdmFpbGFibGUgZm9yIHRoZSBzY3JlZW4KICAgICAgICBvZiB0aGlzIHdpZGdldC4KCiAgICAgICAgRWFjaCBpdGVtIGluIHRoZSBsaXN0IGNvbnNpc3RzIG9mIGEgdmlzdWFsIG5hbWUgKHNlZSB3aW5mb192aXN1YWwpLCBhCiAgICAgICAgZGVwdGggYW5kIGlmIElOQ0xVREVJRFM9MSBpcyBnaXZlbiBhbHNvIHRoZSBYIGlkZW50aWZpZXIuUs0AAAB0EAAAAHZpc3VhbHNhdmFpbGFibGV0CgAAAGluY2x1ZGVpZHNOKAkAAABSPgAAAFJbAAAAUkQAAABSewAAAFIZAAAAUhUAAABSHgAAAFIEAAAAdBYAAABfTWlzY19fd2luZm9fcGFyc2VpdGVtKAMAAABSRgAAAFImAQAAUpYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBYAAAB3aW5mb192aXN1YWxzYXZhaWxhYmxligMAAHMMAAAAAAYJARUBGAESARgBYwIAAAACAAAABgAAAEMAAABzIgAAAHwBAGQBACB0AAB0AQB8AABqAgB8AQBkAQAfgwIAgwEAF1MoAgAAAHMSAAAASW50ZXJuYWwgZnVuY3Rpb24uaQEAAAAoAwAAAFIMAAAAUgQAAAB0EwAAAF9NaXNjX193aW5mb19nZXRpbnQoAgAAAFJGAAAAdAEAAAB0KAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQRAAAAX193aW5mb19wYXJzZWl0ZW2WAwAAcwIAAAAAAmMCAAAAAgAAAAMAAABDAAAAcw0AAAB0AAB8AQBkAQCDAgBTKAIAAABzEgAAAEludGVybmFsIGZ1bmN0aW9uLmkAAAAAKAEAAABSMwAAACgCAAAAUkYAAAB0AQAAAHgoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA4AAABfX3dpbmZvX2dldGludJkDAABzAgAAAAACYwEAAAABAAAABQAAAEMAAABzHwAAAHQAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAIMDAIMBAFMoAwAAAHOnAAAAUmV0dXJuIHRoZSBoZWlnaHQgb2YgdGhlIHZpcnR1YWwgcm9vdCB3aW5kb3cgYXNzb2NpYXRlZCB3aXRoIHRoaXMKICAgICAgICB3aWRnZXQgaW4gcGl4ZWxzLiBJZiB0aGVyZSBpcyBubyB2aXJ0dWFsIHJvb3Qgd2luZG93IHJldHVybiB0aGUKICAgICAgICBoZWlnaHQgb2YgdGhlIHNjcmVlbi5SzQAAAHQLAAAAdnJvb3RoZWlnaHQoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0EQAAAHdpbmZvX3Zyb290aGVpZ2h0nAMAAHMEAAAAAAQDAWMBAAAAAQAAAAUAAABDAAAAcx8AAAB0AAB8AABqAQBqAgBkAQBkAgB8AABqAwCDAwCDAQBTKAMAAABzpAAAAFJldHVybiB0aGUgd2lkdGggb2YgdGhlIHZpcnR1YWwgcm9vdCB3aW5kb3cgYXNzb2NpYXRlZCB3aXRoIHRoaXMKICAgICAgICB3aWRnZXQgaW4gcGl4ZWwuIElmIHRoZXJlIGlzIG5vIHZpcnR1YWwgcm9vdCB3aW5kb3cgcmV0dXJuIHRoZQogICAgICAgIHdpZHRoIG9mIHRoZSBzY3JlZW4uUs0AAAB0CgAAAHZyb290d2lkdGgoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0EAAAAHdpbmZvX3Zyb290d2lkdGiiAwAAcwQAAAAABAMBYwEAAAABAAAABQAAAEMAAABzHwAAAHQAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAIMDAIMBAFMoAwAAAHNpAAAAUmV0dXJuIHRoZSB4IG9mZnNldCBvZiB0aGUgdmlydHVhbCByb290IHJlbGF0aXZlIHRvIHRoZSByb290CiAgICAgICAgd2luZG93IG9mIHRoZSBzY3JlZW4gb2YgdGhpcyB3aWRnZXQuUs0AAAB0BgAAAHZyb290eCgEAAAAUmQAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQMAAAAd2luZm9fdnJvb3R4qAMAAHMEAAAAAAMDAWMBAAAAAQAAAAUAAABDAAAAcx8AAAB0AAB8AABqAQBqAgBkAQBkAgB8AABqAwCDAwCDAQBTKAMAAABzaQAAAFJldHVybiB0aGUgeSBvZmZzZXQgb2YgdGhlIHZpcnR1YWwgcm9vdCByZWxhdGl2ZSB0byB0aGUgcm9vdAogICAgICAgIHdpbmRvdyBvZiB0aGUgc2NyZWVuIG9mIHRoaXMgd2lkZ2V0LlLNAAAAdAYAAAB2cm9vdHkoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DAAAAHdpbmZvX3Zyb290ea0DAABzBAAAAAADAwFjAQAAAAEAAAAFAAAAQwAAAHMfAAAAdAAAfAAAagEAagIAZAEAZAIAfAAAagMAgwMAgwEAUygDAAAAcyAAAABSZXR1cm4gdGhlIHdpZHRoIG9mIHRoaXMgd2lkZ2V0LlLNAAAAdAUAAAB3aWR0aCgEAAAAUmQAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQLAAAAd2luZm9fd2lkdGiyAwAAcwQAAAAAAgMBYwEAAAABAAAABQAAAEMAAABzHwAAAHQAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAIMDAIMBAFMoAwAAAHNWAAAAUmV0dXJuIHRoZSB4IGNvb3JkaW5hdGUgb2YgdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoaXMgd2lkZ2V0CiAgICAgICAgaW4gdGhlIHBhcmVudC5SzQAAAFIsAQAAKAQAAABSZAAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAcAAAB3aW5mb194tgMAAHMEAAAAAAMDAWMBAAAAAQAAAAUAAABDAAAAcx8AAAB0AAB8AABqAQBqAgBkAQBkAgB8AABqAwCDAwCDAQBTKAMAAABzVgAAAFJldHVybiB0aGUgeSBjb29yZGluYXRlIG9mIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGlzIHdpZGdldAogICAgICAgIGluIHRoZSBwYXJlbnQuUs0AAAB0AQAAAHkoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0BwAAAHdpbmZvX3m7AwAAcwQAAAAAAwMBYwEAAAABAAAAAgAAAEMAAABzFAAAAHwAAGoAAGoBAGQBAIMBAAFkAgBTKAMAAABzRQAAAEVudGVyIGV2ZW50IGxvb3AgdW50aWwgYWxsIHBlbmRpbmcgZXZlbnRzIGhhdmUgYmVlbiBwcm9jZXNzZWQgYnkgVGNsLlIfAAAATigCAAAAUj4AAABSRAAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Uh8AAADAAwAAcwIAAAAAAmMBAAAAAQAAAAMAAABDAAAAcxcAAAB8AABqAABqAQBkAQBkAgCDAgABZAMAUygEAAAAc54AAABFbnRlciBldmVudCBsb29wIHVudGlsIGFsbCBpZGxlIGNhbGxiYWNrcyBoYXZlIGJlZW4gY2FsbGVkLiBUaGlzCiAgICAgICAgd2lsbCB1cGRhdGUgdGhlIGRpc3BsYXkgb2Ygd2luZG93cyBidXQgbm90IHByb2Nlc3MgZXZlbnRzIGNhdXNlZCBieQogICAgICAgIHRoZSB1c2VyLlIfAAAAdAkAAABpZGxldGFza3NOKAIAAABSPgAAAFJEAAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0EAAAAHVwZGF0ZV9pZGxldGFza3PDAwAAcwIAAAAABGMCAAAAAgAAAAQAAABDAAAAc0sAAAB8AQBkAgBrCAByLgB8AABqAQBqAgB8AABqAQBqAwBkAQB8AABqBACDAgCDAQBTfAAAagEAagMAZAEAfAAAagQAfAEAgwMAAWQCAFMoAwAAAHMsAQAAU2V0IG9yIGdldCB0aGUgbGlzdCBvZiBiaW5kdGFncyBmb3IgdGhpcyB3aWRnZXQuCgogICAgICAgIFdpdGggbm8gYXJndW1lbnQgcmV0dXJuIHRoZSBsaXN0IG9mIGFsbCBiaW5kdGFncyBhc3NvY2lhdGVkIHdpdGgKICAgICAgICB0aGlzIHdpZGdldC4gV2l0aCBhIGxpc3Qgb2Ygc3RyaW5ncyBhcyBhcmd1bWVudCB0aGUgYmluZHRhZ3MgYXJlCiAgICAgICAgc2V0IHRvIHRoaXMgbGlzdC4gVGhlIGJpbmR0YWdzIGRldGVybWluZSBpbiB3aGljaCBvcmRlciBldmVudHMgYXJlCiAgICAgICAgcHJvY2Vzc2VkIChzZWUgYmluZCkudAgAAABiaW5kdGFnc04oBQAAAFIZAAAAUj4AAABSXAAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAdAcAAAB0YWdMaXN0KAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVI9AQAAyAMAAHMIAAAAAAcMAQkBGQJpAQAAAGMGAAAACAAAAAYAAABDAAAAc8oAAAB0AAB8AwCDAQB0AQBrCAByLwB8AABqAgBqAwB8AQB8AgB8AwBmAgAXgwEAAW6XAHwDAHKNAHwAAGoEAHwDAHwAAGoFAHwFAIMDAH0GAGQBAHwEAHJcAGQCAHBfAGQDAHwGAHwAAGoGAGYDABZ9BwB8AABqAgBqAwB8AQB8AgB8BwBmAgAXgwEAAXwGAFN8AgByqgB8AABqAgBqAwB8AQB8AgBmAQAXgwEAU3wAAGoCAGoHAHwAAGoCAGoDAHwBAIMBAIMBAFNkBABTKAUAAABzEgAAAEludGVybmFsIGZ1bmN0aW9uLnMiAAAAJXNpZiB7IlslcyAlc10iID09ICJicmVhayJ9IGJyZWFrCnQBAAAAK1I5AAAATigIAAAAUhUAAABSHgAAAFI+AAAAUkQAAABSUgAAAHQLAAAAX3N1YnN0aXR1dGV0EQAAAF9zdWJzdF9mb3JtYXRfc3RyUlwAAAAoCAAAAFJGAAAAdAQAAAB3aGF0dAgAAABzZXF1ZW5jZVKPAAAAUrEAAAB0CwAAAG5lZWRjbGVhbnVwdAYAAABmdW5jaWRSxgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0BQAAAF9iaW5k1AMAAHMaAAAAAAISAR0BBgEPAQkBAwIPARABGgEEAQYBFwJjBAAAAAQAAAAFAAAAQwAAAHMfAAAAfAAAagAAZAEAfAAAagEAZgIAfAEAfAIAfAMAgwQAUygCAAAAc08HAABCaW5kIHRvIHRoaXMgd2lkZ2V0IGF0IGV2ZW50IFNFUVVFTkNFIGEgY2FsbCB0byBmdW5jdGlvbiBGVU5DLgoKICAgICAgICBTRVFVRU5DRSBpcyBhIHN0cmluZyBvZiBjb25jYXRlbmF0ZWQgZXZlbnQKICAgICAgICBwYXR0ZXJucy4gQW4gZXZlbnQgcGF0dGVybiBpcyBvZiB0aGUgZm9ybQogICAgICAgIDxNT0RJRklFUi1NT0RJRklFUi1UWVBFLURFVEFJTD4gd2hlcmUgTU9ESUZJRVIgaXMgb25lCiAgICAgICAgb2YgQ29udHJvbCwgTW9kMiwgTTIsIFNoaWZ0LCBNb2QzLCBNMywgTG9jaywgTW9kNCwgTTQsCiAgICAgICAgQnV0dG9uMSwgQjEsIE1vZDUsIE01IEJ1dHRvbjIsIEIyLCBNZXRhLCBNLCBCdXR0b24zLAogICAgICAgIEIzLCBBbHQsIEJ1dHRvbjQsIEI0LCBEb3VibGUsIEJ1dHRvbjUsIEI1IFRyaXBsZSwKICAgICAgICBNb2QxLCBNMS4gVFlQRSBpcyBvbmUgb2YgQWN0aXZhdGUsIEVudGVyLCBNYXAsCiAgICAgICAgQnV0dG9uUHJlc3MsIEJ1dHRvbiwgRXhwb3NlLCBNb3Rpb24sIEJ1dHRvblJlbGVhc2UKICAgICAgICBGb2N1c0luLCBNb3VzZVdoZWVsLCBDaXJjdWxhdGUsIEZvY3VzT3V0LCBQcm9wZXJ0eSwKICAgICAgICBDb2xvcm1hcCwgR3Jhdml0eSBSZXBhcmVudCwgQ29uZmlndXJlLCBLZXlQcmVzcywgS2V5LAogICAgICAgIFVubWFwLCBEZWFjdGl2YXRlLCBLZXlSZWxlYXNlIFZpc2liaWxpdHksIERlc3Ryb3ksCiAgICAgICAgTGVhdmUgYW5kIERFVEFJTCBpcyB0aGUgYnV0dG9uIG51bWJlciBmb3IgQnV0dG9uUHJlc3MsCiAgICAgICAgQnV0dG9uUmVsZWFzZSBhbmQgREVUQUlMIGlzIHRoZSBLZXlzeW0gZm9yIEtleVByZXNzIGFuZAogICAgICAgIEtleVJlbGVhc2UuIEV4YW1wbGVzIGFyZQogICAgICAgIDxDb250cm9sLUJ1dHRvbi0xPiBmb3IgcHJlc3NpbmcgQ29udHJvbCBhbmQgbW91c2UgYnV0dG9uIDEgb3IKICAgICAgICA8QWx0LUE+IGZvciBwcmVzc2luZyBBIGFuZCB0aGUgQWx0IGtleSAoS2V5UHJlc3MgY2FuIGJlIG9taXR0ZWQpLgogICAgICAgIEFuIGV2ZW50IHBhdHRlcm4gY2FuIGFsc28gYmUgYSB2aXJ0dWFsIGV2ZW50IG9mIHRoZSBmb3JtCiAgICAgICAgPDxBU3RyaW5nPj4gd2hlcmUgQVN0cmluZyBjYW4gYmUgYXJiaXRyYXJ5LiBUaGlzCiAgICAgICAgZXZlbnQgY2FuIGJlIGdlbmVyYXRlZCBieSBldmVudF9nZW5lcmF0ZS4KICAgICAgICBJZiBldmVudHMgYXJlIGNvbmNhdGVuYXRlZCB0aGV5IG11c3QgYXBwZWFyIHNob3J0bHkKICAgICAgICBhZnRlciBlYWNoIG90aGVyLgoKICAgICAgICBGVU5DIHdpbGwgYmUgY2FsbGVkIGlmIHRoZSBldmVudCBzZXF1ZW5jZSBvY2N1cnMgd2l0aCBhbgogICAgICAgIGluc3RhbmNlIG9mIEV2ZW50IGFzIGFyZ3VtZW50LiBJZiB0aGUgcmV0dXJuIHZhbHVlIG9mIEZVTkMgaXMKICAgICAgICAiYnJlYWsiIG5vIGZ1cnRoZXIgYm91bmQgZnVuY3Rpb24gaXMgaW52b2tlZC4KCiAgICAgICAgQW4gYWRkaXRpb25hbCBib29sZWFuIHBhcmFtZXRlciBBREQgc3BlY2lmaWVzIHdoZXRoZXIgRlVOQyB3aWxsCiAgICAgICAgYmUgY2FsbGVkIGFkZGl0aW9uYWxseSB0byB0aGUgb3RoZXIgYm91bmQgZnVuY3Rpb24gb3Igd2hldGhlcgogICAgICAgIGl0IHdpbGwgcmVwbGFjZSB0aGUgcHJldmlvdXMgZnVuY3Rpb24uCgogICAgICAgIEJpbmQgd2lsbCByZXR1cm4gYW4gaWRlbnRpZmllciB0byBhbGxvdyBkZWxldGlvbiBvZiB0aGUgYm91bmQgZnVuY3Rpb24gd2l0aAogICAgICAgIHVuYmluZCB3aXRob3V0IG1lbW9yeSBsZWFrLgoKICAgICAgICBJZiBGVU5DIG9yIFNFUVVFTkNFIGlzIG9taXR0ZWQgdGhlIGJvdW5kIGZ1bmN0aW9uIG9yIGxpc3QKICAgICAgICBvZiBib3VuZCBldmVudHMgYXJlIHJldHVybmVkLnQEAAAAYmluZCgCAAAAUkYBAABSewAAACgEAAAAUkYAAABSQwEAAFKPAAAAUrEAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkcBAADlAwAAcwIAAAAAJ2MDAAAAAwAAAAUAAABDAAAAczYAAAB8AABqAABqAQBkAQB8AABqAgB8AQBkAgCDBAABfAIAcjIAfAAAagMAfAIAgwEAAW4AAGQDAFMoBAAAAHNXAAAAVW5iaW5kIGZvciB0aGlzIHdpZGdldCBmb3IgZXZlbnQgU0VRVUVOQ0UgIHRoZQogICAgICAgIGZ1bmN0aW9uIGlkZW50aWZpZWQgd2l0aCBGVU5DSUQuUkcBAABSOQAAAE4oBAAAAFI+AAAAUkQAAABSewAAAFJYAAAAKAMAAABSRgAAAFJDAQAAUkUBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAYAAAB1bmJpbmQNBAAAcwYAAAAAAxwBBgFjBAAAAAQAAAAGAAAAQwAAAHMZAAAAfAAAagAAZAQAfAEAfAIAfAMAZAMAgwUAUygFAAAAcx0BAABCaW5kIHRvIGFsbCB3aWRnZXRzIGF0IGFuIGV2ZW50IFNFUVVFTkNFIGEgY2FsbCB0byBmdW5jdGlvbiBGVU5DLgogICAgICAgIEFuIGFkZGl0aW9uYWwgYm9vbGVhbiBwYXJhbWV0ZXIgQUREIHNwZWNpZmllcyB3aGV0aGVyIEZVTkMgd2lsbAogICAgICAgIGJlIGNhbGxlZCBhZGRpdGlvbmFsbHkgdG8gdGhlIG90aGVyIGJvdW5kIGZ1bmN0aW9uIG9yIHdoZXRoZXIKICAgICAgICBpdCB3aWxsIHJlcGxhY2UgdGhlIHByZXZpb3VzIGZ1bmN0aW9uLiBTZWUgYmluZCBmb3IgdGhlIHJldHVybiB2YWx1ZS5SRwEAAHQDAAAAYWxsaQAAAAAoAgAAAHMEAAAAYmluZHMDAAAAYWxsKAEAAABSRgEAACgEAAAAUkYAAABSQwEAAFKPAAAAUrEAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAgAAABiaW5kX2FsbBMEAABzAgAAAAAFYwIAAAACAAAABQAAAEMAAABzHQAAAHwAAGoAAGoBAGQBAGQCAHwBAGQDAIMEAAFkBABTKAUAAABzOAAAAFVuYmluZCBmb3IgYWxsIHdpZGdldHMgZm9yIGV2ZW50IFNFUVVFTkNFIGFsbCBmdW5jdGlvbnMuUkcBAABSSQEAAFI5AAAATigCAAAAUj4AAABSRAAAACgCAAAAUkYAAABSQwEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CgAAAHVuYmluZF9hbGwZBAAAcwIAAAAAAmMFAAAABQAAAAYAAABDAAAAcx8AAAB8AABqAABkAQB8AQBmAgB8AgB8AwB8BABkAgCDBQBTKAMAAABzPQEAAEJpbmQgdG8gd2lkZ2V0cyB3aXRoIGJpbmR0YWcgQ0xBU1NOQU1FIGF0IGV2ZW50CiAgICAgICAgU0VRVUVOQ0UgYSBjYWxsIG9mIGZ1bmN0aW9uIEZVTkMuIEFuIGFkZGl0aW9uYWwKICAgICAgICBib29sZWFuIHBhcmFtZXRlciBBREQgc3BlY2lmaWVzIHdoZXRoZXIgRlVOQyB3aWxsIGJlCiAgICAgICAgY2FsbGVkIGFkZGl0aW9uYWxseSB0byB0aGUgb3RoZXIgYm91bmQgZnVuY3Rpb24gb3IKICAgICAgICB3aGV0aGVyIGl0IHdpbGwgcmVwbGFjZSB0aGUgcHJldmlvdXMgZnVuY3Rpb24uIFNlZSBiaW5kIGZvcgogICAgICAgIHRoZSByZXR1cm4gdmFsdWUuUkcBAABpAAAAACgBAAAAUkYBAAAoBQAAAFJGAAAAUrYAAABSQwEAAFKPAAAAUrEAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAoAAABiaW5kX2NsYXNzHAQAAHMCAAAAAAljAwAAAAMAAAAFAAAAQwAAAHMdAAAAfAAAagAAagEAZAEAfAEAfAIAZAIAgwQAAWQDAFMoBAAAAHNZAAAAVW5iaW5kIGZvciBhIGFsbCB3aWRnZXRzIHdpdGggYmluZHRhZyBDTEFTU05BTUUgZm9yIGV2ZW50IFNFUVVFTkNFCiAgICAgICAgYWxsIGZ1bmN0aW9ucy5SRwEAAFI5AAAATigCAAAAUj4AAABSRAAAACgDAAAAUkYAAABStgAAAFJDAQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQMAAAAdW5iaW5kX2NsYXNzJgQAAHMCAAAAAANjAgAAAAIAAAACAAAAQwAAAHMUAAAAfAAAagAAagEAfAEAgwEAAWQBAFMoAgAAAHMYAAAAQ2FsbCB0aGUgbWFpbmxvb3Agb2YgVGsuTigCAAAAUj4AAABSagAAACgCAAAAUkYAAABSawAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSagAAACoEAABzAgAAAAACYwEAAAABAAAAAQAAAEMAAABzEQAAAHwAAGoAAGoBAIMAAAFkAQBTKAIAAABzOAAAAFF1aXQgdGhlIFRjbCBpbnRlcnByZXRlci4gQWxsIHdpZGdldHMgd2lsbCBiZSBkZXN0cm95ZWQuTigCAAAAUj4AAAB0BAAAAHF1aXQoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJOAQAALQQAAHMCAAAAAAJjAgAAAAIAAAAFAAAAQwAAAHMpAAAAfAEAciUAdAAAdAEAdAIAfAAAagMAagQAfAEAgwEAgwIAgwEAU2QBAFMoAgAAAHMSAAAASW50ZXJuYWwgZnVuY3Rpb24uTigFAAAAUgwAAABSBAAAAFJkAAAAUj4AAABSXAAAACgCAAAAUkYAAABSpQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlS/AAAADAEAABzBAAAAAACBgFjAgAAAAIAAAAFAAAAQwAAAHMpAAAAfAEAciUAdAAAdAEAdAIAfAAAagMAagQAfAEAgwEAgwIAgwEAU2QBAFMoAgAAAHMSAAAASW50ZXJuYWwgZnVuY3Rpb24uTigFAAAAUgwAAABSBAAAAFJmAAAAUj4AAABSXAAAACgCAAAAUkYAAABSpQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAF9nZXRkb3VibGVzNAQAAHMEAAAAAAIGAWMCAAAAAgAAAAIAAABDAAAAcxoAAAB8AQByFgB8AABqAABqAQB8AQCDAQBTZAEAUygCAAAAcxIAAABJbnRlcm5hbCBmdW5jdGlvbi5OKAIAAABSPgAAAFJoAAAAKAIAAABSRgAAAFKlAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQLAAAAX2dldGJvb2xlYW44BAAAcwQAAAAAAgYBYwIAAAACAAAAAgAAAEMAAABzLQAAAHwBAHIQAGQBAHwBAGYCAFN8AQBkAgBrCAByKQBkAQB8AABqAQBmAgBTZAMAUygEAAAAcxIAAABJbnRlcm5hbCBmdW5jdGlvbi5zCgAAAC1kaXNwbGF5b2ZOKAAAAAAoAgAAAFIZAAAAUnsAAAAoAgAAAFJGAAAAUpsAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9w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aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAsAAABfX3NldGl0ZW1fX/QEAABzAgAAAAABYwIAAAACAAAAAgAAAEMAAABzEAAAAHQAAGQBAIMBAIIBAGQAAFMoAgAAAE5zKQAAAFRraW50ZXIgb2JqZWN0cyBkb24ndCBzdXBwb3J0ICdpbicgdGVzdHMuKAEAAABSIQAAACgCAAAAUkYAAABSiwEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DAAAAF9fY29udGFpbnNfX/YEAABzAgAAAAABYwEAAAABAAAABgAAAEMAAABzLgAAAHQAAGQBAIQAAHwAAGoBAGoCAHwAAGoBAGoDAHwAAGoEAGQCAIMCAIMBAIMCAFMoAwAAAHMzAAAAUmV0dXJuIGEgbGlzdCBvZiBhbGwgcmVzb3VyY2UgbmFtZXMgb2YgdGhpcyB3aWRnZXQuYwEAAAABAAAAAgAAAFMAAABzDAAAAHwAAGQBABlkAgAfUygDAAAATmkAAAAAaQEAAAAoAAAAACgBAAAAUiwBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAgAAAA8bGFtYmRhPvoEAABzAAAAAFKJAQAAKAUAAABSBAAAAFI+AAAAUlsAAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0BAAAAGtleXP4BAAAcwQAAAAAAgkBYwEAAAABAAAAAQAAAEMAAABzBwAAAHwAAGoAAFMoAQAAAHMrAAAAUmV0dXJuIHRoZSB3aW5kb3cgcGF0aCBuYW1lIG9mIHRoaXMgd2lkZ2V0LigBAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJMAAAA/AQAAHMCAAAAAAJ0BwAAAF9ub2FyZ19jAgAAAAIAAAAFAAAAQwAAAHNRAAAAfAEAdAAAagEAawgAcjEAfAAAagIAfAAAagMAagQAZAEAZAIAfAAAagUAgwMAgwEAU3wAAGoDAGoEAGQBAGQCAHwAAGoFAHwBAIMEAAFkAwBTKAQAAABzEgEAAFNldCBvciBnZXQgdGhlIHN0YXR1cyBmb3IgcHJvcGFnYXRpb24gb2YgZ2VvbWV0cnkgaW5mb3JtYXRpb24uCgogICAgICAgIEEgYm9vbGVhbiBhcmd1bWVudCBzcGVjaWZpZXMgd2hldGhlciB0aGUgZ2VvbWV0cnkgaW5mb3JtYXRpb24KICAgICAgICBvZiB0aGUgc2xhdmVzIHdpbGwgZGV0ZXJtaW5lIHRoZSBzaXplIG9mIHRoaXMgd2lkZ2V0LiBJZiBubyBhcmd1bWVudAogICAgICAgIGlzIGdpdmVuIHRoZSBjdXJyZW50IHNldHRpbmcgd2lsbCBiZSByZXR1cm5lZC4KICAgICAgICB0BAAAAHBhY2t0CQAAAHByb3BhZ2F0ZU4oBgAAAFJtAAAAUpABAABSUAEAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAAB0BAAAAGZsYWcoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9s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REVYIG9mIGEgZ3JpZC4KCiAgICAgICAgVmFsaWQgcmVzb3VyY2VzIGFyZSBtaW5zaXplIChtaW5pbXVtIHNpemUgb2YgdGhlIGNvbHVtbiksCiAgICAgICAgd2VpZ2h0IChob3cgbXVjaCBkb2VzIGFkZGl0aW9uYWwgc3BhY2UgcHJvcGFnYXRlIHRvIHRoaXMgY29sdW1uKQogICAgICAgIGFuZCBwYWQgKGhvdyBtdWNoIHNwYWNlIHRvIGxldCBhZGRpdGlvbmFsbHkpLnQPAAAAY29sdW1uY29uZmlndXJlKAEAAABSpgEAACgEAAAAUkYAAABSoQEAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBQAAABncmlkX2NvbHVtbmNvbmZpZ3VyZVQFAABzAgAAAAAGYwMAAAADAAAABwAAAEMAAABzLgAAAHwAAGoAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAHwBAHwCAIMFAIMBAHAtAGQDAFMoBAAAAHOUAAAAUmV0dXJuIGEgdHVwbGUgb2YgY29sdW1uIGFuZCByb3cgd2hpY2ggaWRlbnRpZnkgdGhlIGNlbGwKICAgICAgICBhdCB3aGljaCB0aGUgcGl4ZWwgYXQgcG9zaXRpb24gWCBhbmQgWSBpbnNpZGUgdGhlIG1hc3RlcgogICAgICAgIHdpZGdldCBpcyBsb2NhdGVkLlKZAQAAdAgAAABsb2NhdGlvbk4oBQAAAFL8AAAAUj4AAABSRAAAAFJ7AAAAUhkAAAAoAwAAAFJGAAAAUiwBAABSOQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAGdyaWRfbG9jYXRpb25cBQAAcwYAAAAABAYBCQFj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AAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAsAAABncmlkX3NsYXZlc3wFAABzEAAAAAADBgEMARMBDAETAQkBEgFjAgAAAAQAAAADAAAARwAAAHMnAAAAZAEAZAIAfAEAZgMAfAIAF30DAHwAAGoAAGoBAHwDAIMBAAFkAwBTKAQAAABzmwAAAEJpbmQgYSB2aXJ0dWFsIGV2ZW50IFZJUlRVQUwgKG9mIHRoZSBmb3JtIDw8TmFtZT4+KQogICAgICAgIHRvIGFuIGV2ZW50IFNFUVVFTkNFIHN1Y2ggdGhhdCB0aGUgdmlydHVhbCBldmVudCBpcyB0cmlnZ2VyZWQKICAgICAgICB3aGVuZXZlciBTRVFVRU5DRSBvY2N1cnMudAUAAABldmVudFKxAAAATigCAAAAUj4AAABSRAAAACgEAAAAUkYAAAB0BwAAAHZpcnR1YWx0CQAAAHNlcXVlbmNlc1J1AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQJAAAAZXZlbnRfYWRkiwUAAHMEAAAAAAQTAWMCAAAABAAAAAMAAABHAAAAcycAAABkAQBkAgB8AQBmAwB8AgAXfQMAfAAAagAAagEAfAMAgwEAAWQDAFMoBAAAAHMtAAAAVW5iaW5kIGEgdmlydHVhbCBldmVudCBWSVJUVUFMIGZyb20gU0VRVUVOQ0UuUrEBAAB0BgAAAGRlbGV0ZU4oAgAAAFI+AAAAUkQAAAAoBAAAAFJGAAAAUrIBAABSswEAAFJ1AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9u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IHZpZXcgaW4gdGhlIHdpbmRvdyBzbyB0aGF0IEZSQUNUSU9OIG9mIHRoZQogICAgICAgIHRvdGFsIGhlaWdodCBvZiB0aGUgY2FudmFzIGlzIG9mZi1zY3JlZW4gdG8gdGhlIHRvcC5SzgEAAFLIAQAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFLJAQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQMAAAAeXZpZXdfbW92ZXRv5AUAAHMCAAAAAANjAwAAAAMAAAAGAAAAQwAAAHMjAAAAfAAAagAAagEAfAAAagIAZAEAZAIAfAEAfAIAgwUAAWQDAFMoBAAAAHNcAAAAU2hpZnQgdGhlIHktdmlldyBhY2NvcmRpbmcgdG8gTlVNQkVSIHdoaWNoIGlzIG1lYXN1cmVkIGluCiAgICAgICAgInVuaXRzIiBvciAicGFnZXMiIChXSEFUKS5SzgEAAFLLAQAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAMAAABSRgAAAFLlAAAAUkIBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAwAAAB5dmlld19zY3JvbGzpBQAAcwIAAAAAAygGAAAAUisAAABSLAAAAFItAAAAUs4BAABSzwEAAFLQAQAAKAAAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Us0BAADaBQAAcwgAAAAGAgYCCQYJBXQCAAAAV21jAAAAAAAAAAAFAAAAQgAAAHMYAgAAZQAAWgEAZAAAWgIAZB0AZB0AZB0AZB0AZAEAhAQAWgQAZQQAWgUAZAIAhAAAWgYAZQYAWgcAZB0AZAMAhAEAWggAZQgAWgkAZAQAhAAAWgoAZQoAWgsAZB0AZAUAhAEAWgwAZQwAWg0AZAYAhAAAWg4AZQ4AWg8AZB0AZAcAhAEAWhAAZRAAWhEAZAgAhAAAWhIAZRIAWhMAZB0AZAkAhAEAWhQAZRQAWhUAZB0AZB0AZB0AZB0AZAoAhAQAWhYAZRYAWhcAZB0AZAsAhAEAWhgAZRgAWhkAZB0AZB0AZAwAhAIAWhoAZRoAWhsAZA0AhAAAWhwAZRwAWh0AZB0AZA4AhAEAWh4AZR4AWh8AZB0AZA8AhAEAWiAAZSAAWiEAZB0AZB0AZBAAhAIAWiIAZSIAWiMAZB0AZBEAhAEAWiQAZSQAWiUAZB0AZB0AZBIAhAIAWiYAZSYAWicAZB0AZB0AZBMAhAIAWigAZSgAWikAZB0AZBQAhAEAWioAZSoAWisAZB0AZBUAhAEAWiwAZSwAWi0AZB0AZB0AZBYAhAIAWi4AZS4AWi8AZB0AZB0AZBcAhAIAWjAAZTAAWjEAZB0AZBgAhAEAWjIAZTIAWjMAZB0AZBkAhAEAWjQAZTQAWjUAZB0AZBoAhAEAWjYAZTYAWjcAZB0AZBsAhAEAWjgAZTgAWjkAZBwAhAAAWjoAZToAWjsAUlMoHgAAAHNBAAAAUHJvdmlkZXMgZnVuY3Rpb25zIGZvciB0aGUgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSB3aW5kb3cgbWFuYWdlci5jBQAAAAUAAAAJAAAAQwAAAHMuAAAAfAAAagAAfAAAagEAagIAZAEAZAIAfAAAagMAfAEAfAIAfAMAfAQAgwcAgwEAUygDAAAAc9UAAABJbnN0cnVjdCB0aGUgd2luZG93IG1hbmFnZXIgdG8gc2V0IHRoZSBhc3BlY3QgcmF0aW8gKHdpZHRoL2hlaWdodCkKICAgICAgICBvZiB0aGlzIHdpZGdldCB0byBiZSBiZXR3ZWVuIE1JTk5VTUVSL01JTkRFTk9NIGFuZCBNQVhOVU1FUi9NQVhERU5PTS4gUmV0dXJuIGEgdHVwbGUKICAgICAgICBvZiB0aGUgYWN0dWFsIHZhbHVlcyBpZiBubyBhcmd1bWVudCBpcyBnaXZlbi50AgAAAHdtdAYAAABhc3BlY3QoBAAAAFL8AAAAUj4AAABSRAAAAFJ7AAAAKAUAAABSRgAAAHQIAAAAbWluTnVtZXJ0CAAAAG1pbkRlbm9tdAgAAABtYXhOdW1lcnQIAAAAbWF4RGVub20oAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAkAAAB3bV9hc3BlY3TyBQAAcwgAAAAABgYBFQEGAWMBAAAAAgAAAAMAAABHAAAAcyYAAABkAQBkAgB8AABqAABmAwB8AQAXfQEAfAAAagEAagIAfAEAgwEAUygDAAAAc8UCAABUaGlzIHN1YmNvbW1hbmQgcmV0dXJucyBvciBzZXRzIHBsYXRmb3JtIHNwZWNpZmljIGF0dHJpYnV0ZXMKCiAgICAgICAgVGhlIGZpcnN0IGZvcm0gcmV0dXJucyBhIGxpc3Qgb2YgdGhlIHBsYXRmb3JtIHNwZWNpZmljIGZsYWdzIGFuZAogICAgICAgIHRoZWlyIHZhbHVlcy4gVGhlIHNlY29uZCBmb3JtIHJldHVybnMgdGhlIHZhbHVlIGZvciB0aGUgc3BlY2lmaWMKICAgICAgICBvcHRpb24uIFRoZSB0aGlyZCBmb3JtIHNldHMgb25lIG9yIG1vcmUgb2YgdGhlIHZhbHVlcy4gVGhlIHZhbHVlcwogICAgICAgIGFyZSBhcyBmb2xsb3dzOgoKICAgICAgICBPbiBXaW5kb3dzLCAtZGlzYWJsZWQgZ2V0cyBvciBzZXRzIHdoZXRoZXIgdGhlIHdpbmRvdyBpcyBpbiBhCiAgICAgICAgZGlzYWJsZWQgc3RhdGUuIC10b29sd2luZG93IGdldHMgb3Igc2V0cyB0aGUgc3R5bGUgb2YgdGhlIHdpbmRvdwogICAgICAgIHRvIHRvb2x3aW5kb3cgKGFzIGRlZmluZWQgaW4gdGhlIE1TRE4pLiAtdG9wbW9zdCBnZXRzIG9yIHNldHMKICAgICAgICB3aGV0aGVyIHRoaXMgaXMgYSB0b3Btb3N0IHdpbmRvdyAoZGlzcGxheXMgYWJvdmUgYWxsIG90aGVyCiAgICAgICAgd2luZG93cykuCgogICAgICAgIE9uIE1hY2ludG9zaCwgWFhYWFgKCiAgICAgICAgT24gVW5peCwgdGhlcmUgYXJlIGN1cnJlbnRseSBubyBzcGVjaWFsIGF0dHJpYnV0ZSB2YWx1ZXMuCiAgICAgICAgUtIBAAB0CgAAAGF0dHJpYnV0ZXMoAwAAAFJ7AAAAUj4AAABSRAAAACgCAAAAUkYAAABSdQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAHdtX2F0dHJpYnV0ZXP+BQAAcwQAAAAAEhYBYwIAAAACAAAABQAAAEMAAABzHAAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAHwBAIMEAFMoAwAAAHNWAAAAU3RvcmUgTkFNRSBpbiBXTV9DTElFTlRfTUFDSElORSBwcm9wZXJ0eSBvZiB0aGlzIHdpZGdldC4gUmV0dXJuCiAgICAgICAgY3VycmVudCB2YWx1ZS5S0gEAAHQGAAAAY2xpZW50KAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUkgAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAkAAAB3bV9jbGllbnQUBgAAcwIAAAAAA2MBAAAAAwAAAAQAAABHAAAAc1AAAAB0AAB8AQCDAQBkAQBrBAByHgB8AQBmAQB9AQBuAABkAgBkAwB8AABqAQBmAwB8AQAXfQIAdAIAfAAAagMAfAAAagQAagUAfAIAgwEAgwIAUygEAAAAc9sAAABTdG9yZSBsaXN0IG9mIHdpbmRvdyBuYW1lcyAoV0xJU1QpIGludG8gV01fQ09MT1JNQVBXSU5ET1dTIHByb3BlcnR5CiAgICAgICAgb2YgdGhpcyB3aWRnZXQuIFRoaXMgbGlzdCBjb250YWlucyB3aW5kb3dzIHdob3NlIGNvbG9ybWFwcyBkaWZmZXIgZnJvbSB0aGVpcgogICAgICAgIHBhcmVudHMuIFJldHVybiBjdXJyZW50IGxpc3Qgb2Ygd2lkZ2V0cyBpZiBXTElTVCBpcyBlbXB0eS5pAQAAAFLSAQAAdA8AAABjb2xvcm1hcHdpbmRvd3MoBgAAAFINAAAAUnsAAABSBAAAAFKGAAAAUj4AAABSRAAAACgDAAAAUkYAAAB0BQAAAHdsaXN0UnUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBIAAAB3bV9jb2xvcm1hcHdpbmRvd3MZBgAAcwgAAAAABBIBDAEWAWMCAAAAAgAAAAUAAABDAAAAcxwAAAB8AABqAABqAQBkAQBkAgB8AABqAgB8AQCDBABTKAMAAABznQAAAFN0b3JlIFZBTFVFIGluIFdNX0NPTU1BTkQgcHJvcGVydHkuIEl0IGlzIHRoZSBjb21tYW5kCiAgICAgICAgd2hpY2ggc2hhbGwgYmUgdXNlZCB0byBpbnZva2UgdGhlIGFwcGxpY2F0aW9uLiBSZXR1cm4gY3VycmVudAogICAgICAgIGNvbW1hbmQgaWYgVkFMVUUgaXMgTm9uZS5S0gEAAFK/AAAAKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUgYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAoAAAB3bV9jb21tYW5kIgYAAHMCAAAAAARjAQAAAAEAAAAEAAAAQwAAAHMZAAAAfAAAagAAagEAZAEAZAIAfAAAagIAgwMAUygDAAAAc4gAAABEZWljb25pZnkgdGhpcyB3aWRnZXQuIElmIGl0IHdhcyBuZXZlciBtYXBwZWQgaXQgd2lsbCBub3QgYmUgbWFwcGVkLgogICAgICAgIE9uIFdpbmRvd3MgaXQgd2lsbCByYWlzZSB0aGlzIHdpZGdldCBhbmQgZ2l2ZSBpdCB0aGUgZm9jdXMuUtIBAAB0CQAAAGRlaWNvbmlmeSgDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DAAAAHdtX2RlaWNvbmlmeSgGAABzAgAAAAADYwIAAAACAAAABQAAAEMAAABzHAAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAHwBAIMEAFMoAwAAAHPRAAAAU2V0IGZvY3VzIG1vZGVsIHRvIE1PREVMLiAiYWN0aXZlIiBtZWFucyB0aGF0IHRoaXMgd2lkZ2V0IHdpbGwgY2xhaW0KICAgICAgICB0aGUgZm9jdXMgaXRzZWxmLCAicGFzc2l2ZSIgbWVhbnMgdGhhdCB0aGUgd2luZG93IG1hbmFnZXIgc2hhbGwgZ2l2ZQogICAgICAgIHRoZSBmb2N1cy4gUmV0dXJuIGN1cnJlbnQgZm9jdXMgbW9kZWwgaWYgTU9ERUwgaXMgTm9uZS5S0gEAAHQKAAAAZm9jdXNtb2RlbCgDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAHQFAAAAbW9kZWwoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA0AAAB3bV9mb2N1c21vZGVsLQYAAHMCAAAAAARjAQAAAAEAAAAEAAAAQwAAAHMZAAAAfAAAagAAagEAZAEAZAIAfAAAagIAgwMAUygDAAAAc0EAAABSZXR1cm4gaWRlbnRpZmllciBmb3IgZGVjb3JhdGl2ZSBmcmFtZSBvZiB0aGlzIHdpZGdldCBpZiBwcmVzZW50LlLSAQAAdAUAAABmcmFtZSgDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CAAAAHdtX2ZyYW1lMwYAAHMCAAAAAAJjAgAAAAIAAAAFAAAAQwAAAHMcAAAAfAAAagAAagEAZAEAZAIAfAAAagIAfAEAgwQAUygDAAAAc2kAAABTZXQgZ2VvbWV0cnkgdG8gTkVXR0VPTUVUUlkgb2YgdGhlIGZvcm0gPXdpZHRoeGhlaWdodCt4K3kuIFJldHVybgogICAgICAgIGN1cnJlbnQgdmFsdWUgaWYgTm9uZSBpcyBnaXZlbi5S0gEAAFLnAAAAKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAdAsAAABuZXdHZW9tZXRyeSgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAHdtX2dlb21ldHJ5NwYAAHMCAAAAAANjBQAAAAUAAAAJAAAAQwAAAHMuAAAAfAAAagAAfAAAagEAagIAZAEAZAIAfAAAagMAfAEAfAIAfAMAfAQAgwcAgwEAUygDAAAAcw8BAABJbnN0cnVjdCB0aGUgd2luZG93IG1hbmFnZXIgdGhhdCB0aGlzIHdpZGdldCBzaGFsbCBvbmx5IGJlCiAgICAgICAgcmVzaXplZCBvbiBncmlkIGJvdW5kYXJpZXMuIFdJRFRISU5DIGFuZCBIRUlHSFRJTkMgYXJlIHRoZSB3aWR0aCBhbmQKICAgICAgICBoZWlnaHQgb2YgYSBncmlkIHVuaXQgaW4gcGl4ZWxzLiBCQVNFV0lEVEggYW5kIEJBU0VIRUlHSFQgYXJlIHRoZQogICAgICAgIG51bWJlciBvZiBncmlkIHVuaXRzIHJlcXVlc3RlZCBpbiBUa19HZW9tZXRyeVJlcXVlc3QuUtIBAABSmQEAACgEAAAAUvwAAABSPgAAAFJEAAAAUnsAAAAoBQAAAFJGAAAAdAkAAABiYXNlV2lkdGh0CgAAAGJhc2VIZWlnaHR0CAAAAHdpZHRoSW5jdAkAAABoZWlnaHRJbmMoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAcAAAB3bV9ncmlkPAYAAHMGAAAAAAcPAQwBYwIAAAACAAAABQAAAEMAAABzHAAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAHwBAIMEAFMoAwAAAHN+AAAAU2V0IHRoZSBncm91cCBsZWFkZXIgd2lkZ2V0cyBmb3IgcmVsYXRlZCB3aWRnZXRzIHRvIFBBVEhOQU1FLiBSZXR1cm4KICAgICAgICB0aGUgZ3JvdXAgbGVhZGVyIG9mIHRoaXMgd2lkZ2V0IGlmIE5vbmUgaXMgZ2l2ZW4uUtIBAAB0BQAAAGdyb3VwKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAdAgAAABwYXRoTmFtZSgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CAAAAHdtX2dyb3VwRwYAAHMCAAAAAANjAwAAAAMAAAAGAAAAQwAAAHNFAAAAfAIAciUAfAAAagAAagEAZAEAZAIAfAAAagIAZAMAfAIAgwUAU3wAAGoAAGoBAGQBAGQCAHwAAGoCAHwBAIMEAFNkBABTKAUAAABznwEAAFNldCBiaXRtYXAgZm9yIHRoZSBpY29uaWZpZWQgd2lkZ2V0IHRvIEJJVE1BUC4gUmV0dXJuCiAgICAgICAgdGhlIGJpdG1hcCBpZiBOb25lIGlzIGdpdmVuLgoKICAgICAgICBVbmRlciBXaW5kb3dzLCB0aGUgREVGQVVMVCBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBpY29uCiAgICAgICAgZm9yIHRoZSB3aWRnZXQgYW5kIGFueSBkZXNjZW5kZW50cyB0aGF0IGRvbid0IGhhdmUgYW4gaWNvbiBzZXQKICAgICAgICBleHBsaWNpdGx5LiAgREVGQVVMVCBjYW4gYmUgdGhlIHJlbGF0aXZlIHBhdGggdG8gYSAuaWNvIGZpbGUKICAgICAgICAoZXhhbXBsZTogcm9vdC5pY29uYml0bWFwKGRlZmF1bHQ9J215aWNvbi5pY28nKSApLiAgU2VlIFRrCiAgICAgICAgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5S0gEAAHQKAAAAaWNvbmJpdG1hcHMIAAAALWRlZmF1bHROKAMAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAdAYAAABiaXRtYXB0BwAAAGRlZmF1bHQoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA0AAAB3bV9pY29uYml0bWFwTAYAAHMGAAAAAAkGAR8CYwEAAAABAAAABAAAAEMAAABzGQAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAIMDAFMoAwAAAHMXAAAARGlzcGxheSB3aWRnZXQgYXMgaWNvbi5S0gEAAHQHAAAAaWNvbmlmeSgDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CgAAAHdtX2ljb25pZnlaBgAAcwIAAAAAAmMCAAAAAgAAAAUAAABDAAAAcxwAAAB8AABqAABqAQBkAQBkAgB8AABqAgB8AQCDBABTKAMAAABzVgAAAFNldCBtYXNrIGZvciB0aGUgaWNvbiBiaXRtYXAgb2YgdGhpcyB3aWRnZXQuIFJldHVybiB0aGUKICAgICAgICBtYXNrIGlmIE5vbmUgaXMgZ2l2ZW4uUtIBAAB0CAAAAGljb25tYXNrKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUvMBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAsAAAB3bV9pY29ubWFza14GAABzAgAAAAADYwIAAAACAAAABQAAAEMAAABzHAAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAHwBAIMEAFMoAwAAAHNTAAAAU2V0IHRoZSBuYW1lIG9mIHRoZSBpY29uIGZvciB0aGlzIHdpZGdldC4gUmV0dXJuIHRoZSBuYW1lIGlmCiAgICAgICAgTm9uZSBpcyBnaXZlbi5S0gEAAHQIAAAAaWNvbm5hbWUoAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAAB0BwAAAG5ld05hbWUoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAsAAAB3bV9pY29ubmFtZWMGAABzAgAAAAADYwMAAAADAAAABwAAAEMAAABzKAAAAHwAAGoAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAHwBAHwCAIMFAIMBAFMoAwAAAHOBAAAAU2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgaWNvbiBvZiB0aGlzIHdpZGdldCB0byBYIGFuZCBZLiBSZXR1cm4KICAgICAgICBhIHR1cGxlIG9mIHRoZSBjdXJyZW50IHZhbHVlcyBvZiBYIGFuZCBYIGlmIE5vbmUgaXMgZ2l2ZW4uUtIBAAB0DAAAAGljb25wb3NpdGlvbigEAAAAUvwAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAUiwBAABSOQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DwAAAHdtX2ljb25wb3NpdGlvbmgGAABzBAAAAAADDwFjAgAAAAIAAAAFAAAAQwAAAHMcAAAAfAAAagAAagEAZAEAZAIAfAAAagIAfAEAgwQAUygDAAAAc2cAAABTZXQgd2lkZ2V0IFBBVEhOQU1FIHRvIGJlIGRpc3BsYXllZCBpbnN0ZWFkIG9mIGljb24uIFJldHVybiB0aGUgY3VycmVudAogICAgICAgIHZhbHVlIGlmIE5vbmUgaXMgZ2l2ZW4uUtIBAAB0CgAAAGljb253aW5kb3coAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABS8AEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAHdtX2ljb253aW5kb3duBgAAcwIAAAAAA2MDAAAAAwAAAAcAAABDAAAAcygAAAB8AABqAAB8AABqAQBqAgBkAQBkAgB8AABqAwB8AQB8AgCDBQCDAQBTKAMAAABzogAAAFNldCBtYXggV0lEVEggYW5kIEhFSUdIVCBmb3IgdGhpcyB3aWRnZXQuIElmIHRoZSB3aW5kb3cgaXMgZ3JpZGRlZAogICAgICAgIHRoZSB2YWx1ZXMgYXJlIGdpdmVuIGluIGdyaWQgdW5pdHMuIFJldHVybiB0aGUgY3VycmVudCB2YWx1ZXMgaWYgTm9uZQogICAgICAgIGlzIGdpdmVuLlLSAQAAdAcAAABtYXhzaXplKAQAAABS/AAAAFI+AAAAUkQAAABSewAAACgDAAAAUkYAAABSNgEAAFLpAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQKAAAAd21fbWF4c2l6ZXMGAABzBAAAAAAEDwFjAwAAAAMAAAAHAAAAQwAAAHMoAAAAfAAAagAAfAAAagEAagIAZAEAZAIAfAAAagMAfAEAfAIAgwUAgwEAUygDAAAAc6IAAABTZXQgbWluIFdJRFRIIGFuZCBIRUlHSFQgZm9yIHRoaXMgd2lkZ2V0LiBJZiB0aGUgd2luZG93IGlzIGdyaWRkZWQKICAgICAgICB0aGUgdmFsdWVzIGFyZSBnaXZlbiBpbiBncmlkIHVuaXRzLiBSZXR1cm4gdGhlIGN1cnJlbnQgdmFsdWVzIGlmIE5vbmUKICAgICAgICBpcyBnaXZlbi5S0gEAAHQHAAAAbWluc2l6ZSgEAAAAUvwAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAUjYBAABS6QAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CgAAAHdtX21pbnNpemV6BgAAcwQAAAAABA8BYwIAAAACAAAABgAAAEMAAABzJQAAAHwAAGoAAHwAAGoBAGoCAGQBAGQCAHwAAGoDAHwBAIMEAIMBAFMoAwAAAHOIAAAASW5zdHJ1Y3QgdGhlIHdpbmRvdyBtYW5hZ2VyIHRvIGlnbm9yZSB0aGlzIHdpZGdldAogICAgICAgIGlmIEJPT0xFQU4gaXMgZ2l2ZW4gd2l0aCAxLiBSZXR1cm4gdGhlIGN1cnJlbnQgdmFsdWUgaWYgTm9uZQogICAgICAgIGlzIGdpdmVuLlLSAQAAdBAAAABvdmVycmlkZXJlZGlyZWN0KAQAAABSUAEAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABScgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0EwAAAHdtX292ZXJyaWRlcmVkaXJlY3SBBgAAcwQAAAAABA8BYwIAAAACAAAABQAAAEMAAABzHAAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAHwBAIMEAFMoAwAAAHOmAAAASW5zdHJ1Y3QgdGhlIHdpbmRvdyBtYW5hZ2VyIHRoYXQgdGhlIHBvc2l0aW9uIG9mIHRoaXMgd2lkZ2V0IHNoYWxsCiAgICAgICAgYmUgZGVmaW5lZCBieSB0aGUgdXNlciBpZiBXSE8gaXMgInVzZXIiLCBhbmQgYnkgaXRzIG93biBwb2xpY3kgaWYgV0hPIGlzCiAgICAgICAgInByb2dyYW0iLlLSAQAAdAwAAABwb3NpdGlvbmZyb20oAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAAB0AwAAAHdobygAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DwAAAHdtX3Bvc2l0aW9uZnJvbYgGAABzAgAAAAAEYwMAAAAEAAAABgAAAEMAAABzRgAAAHQAAHwCAGQBAIMCAHIhAHwAAGoBAHwCAIMBAH0DAG4GAHwCAH0DAHwAAGoCAGoDAGQCAGQDAHwAAGoEAHwBAHwDAIMFAFMoBAAAAHO0AAAAQmluZCBmdW5jdGlvbiBGVU5DIHRvIGNvbW1hbmQgTkFNRSBmb3IgdGhpcyB3aWRnZXQuCiAgICAgICAgUmV0dXJuIHRoZSBmdW5jdGlvbiBib3VuZCB0byBOQU1FIGlmIE5vbmUgaXMgZ2l2ZW4uIE5BTUUgY291bGQgYmUKICAgICAgICBlLmcuICJXTV9TQVZFX1lPVVJTRUxGIiBvciAiV01fREVMRVRFX1dJTkRPVyIuUlYBAABS0gEAAHQIAAAAcHJvdG9jb2woBQAAAFJYAQAAUlIAAABSPgAAAFJEAAAAUnsAAAAoBAAAAFJGAAAAUkgAAABSjwAAAFK/AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQLAAAAd21fcHJvdG9jb2yOBgAAcwoAAAAABA8BEgIGAQkBYwMAAAADAAAABgAAAEMAAABzHwAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAHwBAHwCAIMFAFMoAwAAAHN5AAAASW5zdHJ1Y3QgdGhlIHdpbmRvdyBtYW5hZ2VyIHdoZXRoZXIgdGhpcyB3aWR0aCBjYW4gYmUgcmVzaXplZAogICAgICAgIGluIFdJRFRIIG9yIEhFSUdIVC4gQm90aCB2YWx1ZXMgYXJlIGJvb2xlYW4gdmFsdWVzLlLSAQAAdAkAAAByZXNpemFibGUoAwAAAFI+AAAAUkQAAABSewAAACgDAAAAUkYAAABSNgEAAFLpAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQMAAAAd21fcmVzaXphYmxlmQYAAHMCAAAAAANjAgAAAAIAAAAFAAAAQwAAAHMcAAAAfAAAagAAagEAZAEAZAIAfAAAagIAfAEAgwQAUygDAAAAc6IAAABJbnN0cnVjdCB0aGUgd2luZG93IG1hbmFnZXIgdGhhdCB0aGUgc2l6ZSBvZiB0aGlzIHdpZGdldCBzaGFsbAogICAgICAgIGJlIGRlZmluZWQgYnkgdGhlIHVzZXIgaWYgV0hPIGlzICJ1c2VyIiwgYW5kIGJ5IGl0cyBvd24gcG9saWN5IGlmIFdITyBpcwogICAgICAgICJwcm9ncmFtIi5S0gEAAHQIAAAAc2l6ZWZyb20oAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSCAIAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAHdtX3NpemVmcm9tngYAAHMCAAAAAARjAgAAAAIAAAAFAAAAQwAAAHMcAAAAfAAAagAAagEAZAEAZAIAfAAAagIAfAEAgwQAUygDAAAAc4YAAABRdWVyeSBvciBzZXQgdGhlIHN0YXRlIG9mIHRoaXMgd2lkZ2V0IGFzIG9uZSBvZiBub3JtYWwsIGljb24sCiAgICAgICAgaWNvbmljIChzZWUgd21faWNvbndpbmRvdyksIHdpdGhkcmF3biwgb3Igem9vbWVkIChXaW5kb3dzIG9ubHkpLlLSAQAAUmcBAAAoAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAAB0CAAAAG5ld3N0YXRlKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQIAAAAd21fc3RhdGWkBgAAcwIAAAAAA2MCAAAAAgAAAAUAAABDAAAAcxwAAAB8AABqAABqAQBkAQBkAgB8AABqAgB8AQCDBABTKAMAAABzHQAAAFNldCB0aGUgdGl0bGUgb2YgdGhpcyB3aWRnZXQuUtIBAAB0BQAAAHRpdGxlKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUqUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAgAAAB3bV90aXRsZakGAABzAgAAAAACYwIAAAACAAAABQAAAEMAAABzHAAAAHwAAGoAAGoBAGQBAGQCAHwAAGoCAHwBAIMEAFMoAwAAAHNfAAAASW5zdHJ1Y3QgdGhlIHdpbmRvdyBtYW5hZ2VyIHRoYXQgdGhpcyB3aWRnZXQgaXMgdHJhbnNpZW50CiAgICAgICAgd2l0aCByZWdhcmQgdG8gd2lkZ2V0IE1BU1RFUi5S0gEAAHQJAAAAdHJhbnNpZW50KAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUkcAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAwAAAB3bV90cmFuc2llbnStBgAAcwIAAAAAA2MBAAAAAQAAAAQAAABDAAAAcxkAAAB8AABqAABqAQBkAQBkAgB8AABqAgCDAwBTKAMAAABziAAAAFdpdGhkcmF3IHRoaXMgd2lkZ2V0IGZyb20gdGhlIHNjcmVlbiBzdWNoIHRoYXQgaXQgaXMgdW5tYXBwZWQKICAgICAgICBhbmQgZm9yZ290dGVuIGJ5IHRoZSB3aW5kb3cgbWFuYWdlci4gUmUtZHJhdyBpdCB3aXRoIHdtX2RlaWNvbmlmeS5S0gEAAHQIAAAAd2l0aGRyYXcoAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAsAAAB3bV93aXRoZHJhd7IGAABzAgAAAAADTig8AAAAUisAAABSLAAAAFIt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bWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UiUCAAADBwAAcyQAAAAABAwBDwAQAQkBGQEZARkBGQENAQgBEgEWARIBEAESARYBEgFjBAAAAAYAAAAEAAAAQwAAAHNaAAAAZAEAZAIAbAAAfQQAZAEAZAIAbAEAfQUAfAUAagIAagMAZAMAgwEAAXwBAHwFAF8EAHwCAHwFAF8FAHwDAHwFAF8GAHwEAGoHAHwBAHwCAHwDAIMDAAFkAgBTKAQAAABzNgAAAEludGVybmFsIGZ1bmN0aW9uLiBJdCByZXBvcnRzIGV4Y2VwdGlvbiBvbiBzeXMuc3RkZXJyLmn/////TnMeAAAARXhjZXB0aW9uIGluIFRraW50ZXIgY2FsbGJhY2sKKAgAAAB0CQAAAHRyYWNlYmFja1J+AQAAdAYAAABzdGRlcnJ0BQAAAHdyaXRldAkAAABsYXN0X3R5cGV0CgAAAGxhc3RfdmFsdWV0DgAAAGxhc3RfdHJhY2ViYWNrdA8AAABwcmludF9leGNlcHRpb24oBgAAAFJGAAAAUoMBAABShAEAAFKFAQAAUkQCAABSfgEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSggEAABgHAABzDAAAAAACGAEQAQkBCQEJAWMCAAAAAgAAAAMAAABDAAAAcxAAAAB0AAB8AABqAQB8AQCDAgBTKAEAAABzMwAAAERlbGVnYXRlIGF0dHJpYnV0ZSBhY2Nlc3MgdG8gdGhlIGludGVycHJldGVyIG9iamVjdCgCAAAAdAcAAABnZXRhdHRyUj4AAAAoAgAAAFJGAAAAdAQAAABhdHRyKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQLAAAAX19nZXRhdHRyX18gBwAAcwIAAAAAAk4oDAAAAFIrAAAAUiwAAABSLQAAAFJ7AAAAUhkAAABSSQAAAFItAgAAUiICAABSbwAAAFIlAgAAUoIBAABSTQIAACgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVIYAgAAuQYAAHMUAAAABgIGAQYBCQESGQkECR8JCQkVCQhjBAAAAAQAAAAFAAAAQwAAAHMTAAAAdAAAfAAAfAEAfAIAfAMAgwQAUygBAAAATigBAAAAUhgCAAAoBAAAAFImAgAAUicCAABStgAAAFIoAgAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQDAAAAVGNsMwcAAHMCAAAAAAF0BAAAAFBhY2tjAAAAAAAAAAACAAAAQgAAAHNgAAAAZQAAWgEAZAAAWgIAaQAAZAEAhAEAWgMAZQMABFoEAARaBQBaBgBkAgCEAABaBwBlBwBaCABkAwCEAABaCQBlCQBaCgBlCwBqDAAEWg0AWgwAZQsAag4ABFoPAFoOAFJTKAQAAABzUQAAAEdlb21ldHJ5IG1hbmFnZXIgUGFjay4KCiAgICBCYXNlIGNsYXNzIHRvIHVzZSB0aGUgbWV0aG9kcyBwYWNrXyogaW4gZXZlcnkgd2lkZ2V0LmMCAAAAAwAAAAUAAABLAAAAczAAAAB8AABqAABqAQBkAQBkAgB8AABqAgBmAwB8AABqAwB8AQB8AgCDAgAXgwEAAWQDAFMoBAAAAHMoAwAAUGFjayBhIHdpZGdldCBpbiB0aGUgcGFyZW50IHdpZGdldC4gVXNlIGFzIG9wdGlvbnM6CiAgICAgICAgYWZ0ZXI9d2lkZ2V0IC0gcGFjayBpdCBhZnRlciB5b3UgaGF2ZSBwYWNrZWQgd2lkZ2V0CiAgICAgICAgYW5jaG9yPU5TRVcgKG9yIHN1YnNldCkgLSBwb3NpdGlvbiB3aWRnZXQgYWNjb3JkaW5nIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaXZlbiBkaXJlY3Rpb24KICAgICAgICBiZWZvcmU9d2lkZ2V0IC0gcGFjayBpdCBiZWZvcmUgeW91IHdpbGwgcGFjayB3aWRnZXQKICAgICAgICBleHBhbmQ9Ym9vbCAtIGV4cGFuZCB3aWRnZXQgaWYgcGFyZW50IHNpemUgZ3Jvd3MKICAgICAgICBmaWxsPU5PTkUgb3IgWCBvciBZIG9yIEJPVEggLSBmaWxsIHdpZGdldCBpZiB3aWRnZXQgZ3Jvd3MKICAgICAgICBpbj1tYXN0ZXIgLSB1c2UgbWFzdGVyIHRvIGNvbnRhaW4gdGhpcyB3aWRnZXQKICAgICAgICBpbl89bWFzdGVyIC0gc2VlICdpbicgb3B0aW9uIGRlc2NyaXB0aW9uCiAgICAgICAgaXBhZHg9YW1vdW50IC0gYWRkIGludGVybmFsIHBhZGRpbmcgaW4geCBkaXJlY3Rpb24KICAgICAgICBpcGFkeT1hbW91bnQgLSBhZGQgaW50ZXJuYWwgcGFkZGluZyBpbiB5IGRpcmVjdGlvbgogICAgICAgIHBhZHg9YW1vdW50IC0gYWRkIHBhZGRpbmcgaW4geCBkaXJlY3Rpb24KICAgICAgICBwYWR5PWFtb3VudCAtIGFkZCBwYWRkaW5nIGluIHkgZGlyZWN0aW9uCiAgICAgICAgc2lkZT1UT1Agb3IgQk9UVE9NIG9yIExFRlQgb3IgUklHSFQgLSAgd2hlcmUgdG8gYWRkIHRoaXMgd2lkZ2V0LgogICAgICAgIFKRAQAAUokBAABOKAQAAABSPgAAAFJEAAAAUnsAAABSoAAAACgDAAAAUkYAAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMv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aXMgd2lkZ2V0IGF0IHBvc2l0aW9uIHkgb2YgbWFzdGVyCiAgICAgICAgcmVseD1hbW91bnQgLSBsb2NhdGUgYW5jaG9yIG9mIHRoaXMgd2lkZ2V0IGJldHdlZW4gMC4wIGFuZCAxLjAKICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlIHRvIHdpZHRoIG9mIG1hc3RlciAoMS4wIGlzIHJpZ2h0IGVkZ2UpCiAgICAgICAgcmVseT1hbW91bnQgLSBsb2NhdGUgYW5jaG9yIG9mIHRoaXMgd2lkZ2V0IGJldHdlZW4gMC4wIGFuZCAxLjAKICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlIHRvIGhlaWdodCBvZiBtYXN0ZXIgKDEuMCBpcyBib3R0b20gZWRnZSkKICAgICAgICBhbmNob3I9TlNFVyAob3Igc3Vic2V0KSAtIHBvc2l0aW9uIGFuY2hvciBhY2NvcmRpbmcgdG8gZ2l2ZW4gZGlyZWN0aW9uCiAgICAgICAgd2lkdGg9YW1vdW50IC0gd2lkdGggb2YgdGhpcyB3aWRnZXQgaW4gcGl4ZWwKICAgICAgICBoZWlnaHQ9YW1vdW50IC0gaGVpZ2h0IG9mIHRoaXMgd2lkZ2V0IGluIHBpeGVsCiAgICAgICAgcmVsd2lkdGg9YW1vdW50IC0gd2lkdGggb2YgdGhpcyB3aWRnZXQgYmV0d2VlbiAwLjAgYW5kIDEuMAogICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlIHRvIHdpZHRoIG9mIG1hc3RlciAoMS4wIGlzIHRoZSBzYW1lIHdpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgdGhlIG1hc3RlcikKICAgICAgICByZWxoZWlnaHQ9YW1vdW50IC0gaGVpZ2h0IG9mIHRoaXMgd2lkZ2V0IGJldHdlZW4gMC4wIGFuZCAxLjAKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmUgdG8gaGVpZ2h0IG9mIG1hc3RlciAoMS4wIGlzIHRoZSBzYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCBhcyB0aGUgbWFzdGVyKQogICAgICAgIGJvcmRlcm1vZGU9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AAFkAwBTKAQAAABzGgMAAFBvc2l0aW9uIGEgd2lkZ2V0IGluIHRoZSBwYXJlbnQgd2lkZ2V0IGluIGEgZ3JpZC4gVXNlIGFzIG9wdGlvbnM6CiAgICAgICAgY29sdW1uPW51bWJlciAtIHVzZSBjZWxsIGlkZW50aWZpZWQgd2l0aCBnaXZlbiBjb2x1bW4gKHN0YXJ0aW5nIHdpdGggMCkKICAgICAgICBjb2x1bW5zcGFuPW51bWJlciAtIHRoaXMgd2lkZ2V0IHdpbGwgc3BhbiBzZXZlcmFsIGNvbHVtbnMKICAgICAgICBpbj1tYXN0ZXIgLSB1c2UgbWFzdGVyIHRvIGNvbnRhaW4gdGhpcyB3aWRnZXQKICAgICAgICBpbl89bWFzdGVyIC0gc2VlICdpbicgb3B0aW9uIGRlc2NyaXB0aW9uCiAgICAgICAgaXBhZHg9YW1vdW50IC0gYWRkIGludGVybmFsIHBhZGRpbmcgaW4geCBkaXJlY3Rpb24KICAgICAgICBpcGFkeT1hbW91bnQgLSBhZGQgaW50ZXJuYWwgcGFkZGluZyBpbiB5IGRpcmVjdGlvbgogICAgICAgIHBhZHg9YW1vdW50IC0gYWRkIHBhZGRpbmcgaW4geCBkaXJlY3Rpb24KICAgICAgICBwYWR5PWFtb3VudCAtIGFkZCBwYWRkaW5nIGluIHkgZGlyZWN0aW9uCiAgICAgICAgcm93PW51bWJlciAtIHVzZSBjZWxsIGlkZW50aWZpZWQgd2l0aCBnaXZlbiByb3cgKHN0YXJ0aW5nIHdpdGggMCkKICAgICAgICByb3dzcGFuPW51bWJlciAtIHRoaXMgd2lkZ2V0IHdpbGwgc3BhbiBzZXZlcmFsIHJvd3MKICAgICAgICBzdGlja3k9TlNFVyAtIGlmIGNlbGwgaXMgbGFyZ2VyIG9uIHdoaWNoIHNpZGVzIHdpbGwgdGhpcwogICAgICAgICAgICAgICAgICAgICAgd2lkZ2V0IHN0aWNrIHRvIHRoZSBjZWxsIGJvdW5kYXJ5CiAgICAgICAgUpkBAABSiQEAAE4oBAAAAFI+AAAAUkQAAABSewAAAFKgAAAAKAMAAABSRgAAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1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AAAAUj4AAABSRAAAAFJ7AAAAKAMAAABSRgAAAFJIAAAAUnUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAMAAABfZG/+BwAAcwIAAAAAAigAAAAAKAAAAAAoBwAAAFIrAAAAUiwAAABSLQAAAFJeAgAAUkkAAABSbwAAAFJjAgAAKAAAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Ul0CAADKBwAAcwoAAAAGAQYBCRkSEgkHdAYAAABXaWRnZXRjAAAAAAAAAAABAAAAQgAAAHMOAAAAZQAAWgEAZAAAWgIAUlMoAQAAAHN4AAAASW50ZXJuYWwgY2xhc3MuCgogICAgQmFzZSBjbGFzcyBmb3IgYSB3aWRnZXQgd2hpY2ggY2FuIGJlIHBvc2l0aW9uZWQgd2l0aCB0aGUgZ2VvbWV0cnkgbWFuYWdlcnMKICAgIFBhY2ssIFBsYWNlIG9yIEdyaWQuKAMAAABSKwAAAFIsAAAAUi0AAAAoAAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSZAIAAAIIAABzBAAAAAYEBgF0CAAAAFRvcGxldmVsYwAAAAAAAAAAAwAAAEIAAABzHQAAAGUAAFoBAGQAAFoCAGQCAGkAAGQBAIQCAFoEAFJTKAMAAABzIgAAAFRvcGxldmVsIHdpZGdldCwgZS5nLiBmb3IgZGlhbG9ncy5jAwAAAAkAAAAHAAAASwAAAHMBAQAAfAMAchsAdAAAfAIAfAMAZgIAgwEAfQIAbgAAZAwAfQQAeHgAZAEAZAIAZAMAZAQAZAUAZwUARF1hAH0FAHwFAHwCAGsGAHI3AHwCAHwFABl9BgB8BQBkBgAZZAcAawIAcnQAZAgAfAUAZAYAIBd9BwBuCgBkCAB8BQAXfQcAfAQAfAcAfAYAZgIAF30EAHwCAHwFAD1xNwBxNwBXdAEAagIAfAAAfAEAZAkAfAIAaQAAfAQAgwYAAXwAAGoDAIMAAH0IAHwAAGoEAHwIAGoEAIMAAIMBAAF8AABqBQB8CABqBQCDAACDAQABfAAAagYAZAoAfAAAagcAgwIAAWQLAFMoDQAAAHMlAQAAQ29uc3RydWN0IGEgdG9wbGV2ZWwgd2lkZ2V0IHdpdGggdGhlIHBhcmVudCBNQVNURVIuCgogICAgICAgIFZhbGlkIHJlc291cmNlIG5hbWVzOiBiYWNrZ3JvdW5kLCBiZCwgYmcsIGJvcmRlcndpZHRoLCBjbGFzcywKICAgICAgICBjb2xvcm1hcCwgY29udGFpbmVyLCBjdXJzb3IsIGhlaWdodCwgaGlnaGxpZ2h0YmFja2dyb3VuZCwKICAgICAgICBoaWdobGlnaHRjb2xvciwgaGlnaGxpZ2h0dGhpY2tuZXNzLCBtZW51LCByZWxpZWYsIHNjcmVlbiwgdGFrZWZvY3VzLAogICAgICAgIHVzZSwgdmlzdWFsLCB3aWR0aC5SCwEAAHQGAAAAY2xhc3NfUtkAAABSIQEAAHQIAAAAY29sb3JtYXBp/////1JVAQAAUlcBAABSHQEAAFIyAgAATigAAAAAKAgAAABSKQAAAFJdAgAAUkkAAABSUgEAAFL6AQAAUhICAABSCgIAAFJvAAAAKAkAAABSRgAAAFJHAAAAUiQAAABSdgAAAFJhAgAAdAUAAAB3bWtleVKEAQAAdAMAAABvcHRShgEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSSQAAAAsIAABzIgAAAAAHBgEVAQYBDwENAQwBCgMQABEBCgEQAQ4BHAEMARMBEwFOKAUAAABSKwAAAFIsAAAAUi0AAABSGQAAAFJJAAAAKAAAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UmUCAAAJCAAAcwQAAAAGAQYBdAYAAABCdXR0b25jAAAAAAAAAAADAAAAQgAAAHNcAAAAZQAAWgEAZAAAWgIAZAkAaQAAZAEAhAIAWgQAZAIAhAAAWgUAZAMAhAAAWgYAZAQAhAAAWgcAZAUAhAAAWggAZAYAhAAAWgkAZAcAhAAAWgoAZAgAhAAAWgsAUlMoCgAAAHMOAAAAQnV0dG9uIHdpZGdldC5jAwAAAAQAAAAGAAAASwAAAHMdAAAAdAAAagEAfAAAfAEAZAEAfAIAfAMAgwUAAWQCAFMoAwAAAHNVAgAAQ29uc3RydWN0IGEgYnV0dG9uIHdpZGdldCB3aXRoIHRoZSBwYXJlbnQgTUFTVEVSLgoKICAgICAgICBTVEFOREFSRCBPUFRJT05TCgogICAgICAgICAgICBhY3RpdmViYWNrZ3JvdW5kLCBhY3RpdmVmb3JlZ3JvdW5kLCBhbmNob3IsCiAgICAgICAgICAgIGJhY2tncm91bmQsIGJpdG1hcCwgYm9yZGVyd2lkdGgsIGN1cnNvciwKICAgICAgICAgICAgZGlzYWJsZWRmb3JlZ3JvdW5kLCBmb250LCBmb3JlZ3JvdW5kCiAgICAgICAgICAgIGhpZ2hsaWdodGJhY2tncm91bmQsIGhpZ2hsaWdodGNvbG9yLAogICAgICAgICAgICBoaWdobGlnaHR0aGlja25lc3MsIGltYWdlLCBqdXN0aWZ5LAogICAgICAgICAgICBwYWR4LCBwYWR5LCByZWxpZWYsIHJlcGVhdGRlbGF5LAogICAgICAgICAgICByZXBlYXRpbnRlcnZhbCwgdGFrZWZvY3VzLCB0ZXh0LAogICAgICAgICAgICB0ZXh0dmFyaWFibGUsIHVuZGVybGluZSwgd3JhcGxlbmd0aAoKICAgICAgICBXSURHRVQtU1BFQ0lGSUMgT1BUSU9OUwoKICAgICAgICAgICAgY29tbWFuZCwgY29tcG91bmQsIGRlZmF1bHQsIGhlaWdodCwKICAgICAgICAgICAgb3ZlcnJlbGllZiwgc3RhdGUsIHdpZHRoCiAgICAgICAgdAYAAABidXR0b25OKAIAAABSZAIAAFJJAAAAKAQAAABSRgAAAFJHAAAAUiQAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSSQAAACcIAABzAgAAAAATYwEAAAACAAAAAwAAAEcAAABzGgAAAHwAAGoAAGoBAGQBAHwAAGoCAIMCAAFkAABTKAIAAABOdA0AAAB0a0J1dHRvbkVudGVyKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAdAUAAABkdW1teSgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSbAIAADwIAABzAgAAAAABYwEAAAACAAAAAwAAAEcAAABzGgAAAHwAAGoAAGoBAGQBAHwAAGoCAIMCAAFkAABTKAIAAABOdA0AAAB0a0J1dHRvbkxlYXZlKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUm0CAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Um4CAAA/CAAAcwIAAAAAAWMBAAAAAgAAAAMAAABHAAAAcxoAAAB8AABqAABqAQBkAQB8AABqAgCDAgABZAAAUygCAAAATnQMAAAAdGtCdXR0b25Eb3duKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUm0CAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Um8CAABCCAAAcwIAAAAAAWMBAAAAAgAAAAMAAABHAAAAcxoAAAB8AABqAABqAQBkAQB8AABqAgCDAgABZAAAUygCAAAATnQKAAAAdGtCdXR0b25VcCgDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFJtAgAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJwAgAARQgAAHMCAAAAAAFjAQAAAAIAAAADAAAARwAAAHMaAAAAfAAAagAAagEAZAEAfAAAagIAgwIAAWQAAFMoAgAAAE50DgAAAHRrQnV0dG9uSW52b2tlKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUm0CAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UnECAABICAAAcwIAAAAAAWMBAAAAAQAAAAMAAABDAAAAcxoAAAB8AABqAABqAQB8AABqAgBkAQCDAgABZAIAUygDAAAAc18BAABGbGFzaCB0aGUgYnV0dG9uLgoKICAgICAgICBUaGlzIGlzIGFjY29tcGxpc2hlZCBieSByZWRpc3BsYXlpbmcKICAgICAgICB0aGUgYnV0dG9uIHNldmVyYWwgdGltZXMsIGFsdGVybmF0aW5nIGJldHdlZW4gYWN0aXZlIGFuZAogICAgICAgIG5vcm1hbCBjb2xvcnMuIEF0IHRoZSBlbmQgb2YgdGhlIGZsYXNoIHRoZSBidXR0b24gaXMgbGVmdAogICAgICAgIGluIHRoZSBzYW1lIG5vcm1hbC9hY3RpdmUgc3RhdGUgYXMgd2hlbiB0aGUgY29tbWFuZCB3YXMKICAgICAgICBpbnZva2VkLiBUaGlzIGNvbW1hbmQgaXMgaWdub3JlZCBpZiB0aGUgYnV0dG9uJ3Mgc3RhdGUgaXMKICAgICAgICBkaXNhYmxlZC4KICAgICAgICB0BQAAAGZsYXNoTigDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlScgIAAEsIAABzAgAAAAAKYwEAAAABAAAAAwAAAEMAAABzFgAAAHwAAGoAAGoBAHwAAGoCAGQBAIMCAFMoAgAAAHMQAQAASW52b2tlIHRoZSBjb21tYW5kIGFzc29jaWF0ZWQgd2l0aCB0aGUgYnV0dG9uLgoKICAgICAgICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSByZXR1cm4gdmFsdWUgZnJvbSB0aGUgY29tbWFuZCwKICAgICAgICBvciBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlcmUgaXMgbm8gY29tbWFuZCBhc3NvY2lhdGVkIHdpdGgKICAgICAgICB0aGUgYnV0dG9uLiBUaGlzIGNvbW1hbmQgaXMgaWdub3JlZCBpZiB0aGUgYnV0dG9uJ3Mgc3RhdGUKICAgICAgICBpcyBkaXNhYmxlZC4KICAgICAgICB0BgAAAGludm9rZSgDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlScwIAAFcIAABzAgAAAAAITigMAAAAUisAAABSLAAAAFItAAAAUhkAAABSSQAAAFJsAgAAUm4CAABSbwIAAFJwAgAAUnECAABScgIAAFJzAgAAKAAAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UmoCAAAlCAAAcxIAAAAGAQYBDxUJAwkDCQMJAwkDCQxjAAAAAAAAAAABAAAAQwAAAHMEAAAAZAEAUygCAAAATnQDAAAAZW5kKAAAAAAoAAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0BQAAAEF0RW5kYwgAAHMCAAAAAAFjAAAAAAMAAAAEAAAARwAAAHMyAAAAZAEAfQEAeCUAfAAARF0dAH0CAHwCAHINAHwBAGQCAHwCABcXfQEAcQ0AcQ0AV3wBAFMoAwAAAE50BgAAAGluc2VydFICAAAAKAAAAAAoAwAAAFJ1AAAAUmwAAAB0AQAAAGEoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAgAAABBdEluc2VydGUIAABzCgAAAAABBgENAQYAFQFjAAAAAAAAAAABAAAAQwAAAHMEAAAAZAEAUygCAAAATnMJAAAAc2VsLmZpcnN0KAAAAAAoAAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0Ymdj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IHlzY3JvbGxjb21tYW5kLCB5c2Nyb2xsaW5jcmVtZW50LnQGAAAAY2FudmFzTigCAAAAUmQCAABSSQAAACgEAAAAUkYAAABSRwAAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkkAAAB2CAAAcwIAAAAACmMBAAAAAgAAAAMAAABHAAAAcyEAAAB8AABqAABqAQB8AABqAgBkAQBmAgB8AQAXgwEAAWQCAFMoAwAAAHMSAAAASW50ZXJuYWwgZnVuY3Rpb24udAYAAABhZGR0YWdOKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUnUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Un4CAACBCAAAcwIAAAAAAmMDAAAAAwAAAAQAAABDAAAAcxcAAAB8AABqAAB8AQBkAQB8AgCDAwABZAIAUygDAAAAcyoAAABBZGQgdGFnIE5FV1RBRyB0byBhbGwgaXRlbXMgYWJvdmUgVEFHT1JJRC50BQAAAGFib3ZlTigBAAAAUn4CAAAoAwAAAFJGAAAAdAYAAABuZXd0YWd0BwAAAHRhZ09ySWQoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAwAAABhZGR0YWdfYWJvdmWECAAAcwIAAAAAAmMCAAAAAgAAAAMAAABDAAAAcxQAAAB8AABqAAB8AQBkAQCDAgABZAIAUygDAAAAcxwAAABBZGQgdGFnIE5FV1RBRyB0byBhbGwgaXRlbXMuUkkBAABOKAEAAABSfgIAACgCAAAAUkYAAABSgAIAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CgAAAGFkZHRhZ19hbGyHCAAAcwIAAAAAAmMDAAAAAwAAAAQAAABDAAAAcxcAAAB8AABqAAB8AQBkAQB8AgCDAwABZAIAUygDAAAAcyoAAABBZGQgdGFnIE5FV1RBRyB0byBhbGwgaXRlbXMgYmVsb3cgVEFHT1JJRC50BQAAAGJlbG93TigBAAAAUn4CAAAoAwAAAFJGAAAAUoACAABSgQIAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DAAAAGFkZHRhZ19iZWxvd4oIAABzAgAAAAACYwYAAAAGAAAABwAAAEMAAABzIAAAAHwAAGoAAHwBAGQBAHwCAHwDAHwEAHwFAIMGAAFkAgBTKAMAAABz9wAAAEFkZCB0YWcgTkVXVEFHIHRvIGl0ZW0gd2hpY2ggaXMgY2xvc2VzdCB0byBwaXhlbCBhdCBYLCBZLgogICAgICAgIElmIHNldmVyYWwgbWF0Y2ggdGFrZSB0aGUgdG9wLW1vc3QuCiAgICAgICAgQWxsIGl0ZW1zIGNsb3NlciB0aGFuIEhBTE8gYXJlIGNvbnNpZGVyZWQgb3ZlcmxhcHBpbmcgKGFsbCBhcmUKICAgICAgICBjbG9zZXN0cykuIElmIFNUQVJUIGlzIHNwZWNpZmllZCB0aGUgbmV4dCBiZWxvdyB0aGlzIHRhZyBpcyB0YWtlbi50BwAAAGNsb3Nlc3ROKAEAAABSfgIAACgGAAAAUkYAAABSgAIAAFIsAQAAUjkBAAB0BAAAAGhhbG90BQAAAHN0YXJ0KAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQOAAAAYWRkdGFnX2Nsb3Nlc3SNCAAAcwIAAAAABWMGAAAABgAAAAcAAABDAAAAcyAAAAB8AABqAAB8AQBkAQB8AgB8AwB8BAB8BQCDBgABZAIAUygDAAAAc0wAAABBZGQgdGFnIE5FV1RBRyB0byBhbGwgaXRlbXMgaW4gdGhlIHJlY3RhbmdsZSBkZWZpbmVkCiAgICAgICAgYnkgWDEsWTEsWDIsWTIudAgAAABlbmNsb3NlZE4oAQAAAFJ+AgAAKAYAAABSRgAAAFKAAgAAdAIAAAB4MXQCAAAAeTF0AgAAAHgydAIAAAB5MigAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DwAAAGFkZHRhZ19lbmNsb3NlZJMIAABzAgAAAAADYwYAAAAGAAAABwAAAEMAAABzIAAAAHwAAGoAAHwBAGQBAHwCAHwDAHwEAHwFAIMGAAFkAgBTKAMAAABzVwAAAEFkZCB0YWcgTkVXVEFHIHRvIGFsbCBpdGVtcyB3aGljaCBvdmVybGFwIHRoZSByZWN0YW5nbGUKICAgICAgICBkZWZpbmVkIGJ5IFgxLFkxLFgyLFkyLnQLAAAAb3ZlcmxhcHBpbmdOKAEAAABSfgIAACgGAAAAUkYAAABSgAIAAFKLAgAAUowCAABSjQIAAFKOAgAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQSAAAAYWRkdGFnX292ZXJsYXBwaW5nlwgAAHMCAAAAAANjAwAAAAMAAAAEAAAAQwAAAHMXAAAAfAAAagAAfAEAZAEAfAIAgwMAAWQCAFMoAwAAAHMpAAAAQWRkIHRhZyBORVdUQUcgdG8gYWxsIGl0ZW1zIHdpdGggVEFHT1JJRC50BwAAAHdpdGh0YWdOKAEAAABSfgIAACgDAAAAUkYAAABSgAIAAFKBAgAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQOAAAAYWRkdGFnX3dpdGh0YWebCAAAcwIAAAAAAmMBAAAAAgAAAAQAAABHAAAAcywAAAB8AABqAAB8AABqAQBqAgB8AABqAwBkAQBmAgB8AQAXgwEAgwEAcCsAZAIAUygDAAAAc3wAAABSZXR1cm4gYSB0dXBsZSBvZiBYMSxZMSxYMixZMiBjb29yZGluYXRlcyBmb3IgYSByZWN0YW5nbGUKICAgICAgICB3aGljaCBlbmNsb3NlcyBhbGwgaXRlbXMgd2l0aCB0YWdzIHNwZWNpZmllZCBhcyBhcmd1bWVudHMuUpoBAABOKAUAAABS/AAAAFI+AAAAUkQAAABSewAAAFIZAAAAKAIAAABSRgAAAFJ1AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKaAQAAnggAAHMEAAAAAAMGAWMEAAAABAAAAAYAAABDAAAAczkAAAB8AABqAABqAQB8AABqAgBkAQB8AQB8AgBkAgCDBQABfAMAcjUAfAAAagMAfAMAgwEAAW4AAGQDAFMoBAAAAHNiAAAAVW5iaW5kIGZvciBhbGwgaXRlbXMgd2l0aCBUQUdPUklEIGZvciBldmVudCBTRVFVRU5DRSAgdGhlCiAgICAgICAgZnVuY3Rpb24gaWRlbnRpZmllZCB3aXRoIEZVTkNJRC5SRwEAAFI5AAAATigEAAAAUj4AAABSRAAAAFJ7AAAAUlgAAAAoBAAAAFJGAAAAUoECAABSQwEAAFJFAQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQKAAAAdGFnX3VuYmluZKMIAABzBgAAAAADHwEGAWMFAAAABQAAAAUAAABDAAAAcyIAAAB8AABqAAB8AABqAQBkAQB8AQBmAwB8AgB8AwB8BACDBABTKAIAAABzJgEAAEJpbmQgdG8gYWxsIGl0ZW1zIHdpdGggVEFHT1JJRCBhdCBldmVudCBTRVFVRU5DRSBhIGNhbGwgdG8gZnVuY3Rpb24gRlVOQy4KCiAgICAgICAgQW4gYWRkaXRpb25hbCBib29sZWFuIHBhcmFtZXRlciBBREQgc3BlY2lmaWVzIHdoZXRoZXIgRlVOQyB3aWxsIGJlCiAgICAgICAgY2FsbGVkIGFkZGl0aW9uYWxseSB0byB0aGUgb3RoZXIgYm91bmQgZnVuY3Rpb24gb3Igd2hldGhlciBpdCB3aWxsCiAgICAgICAgcmVwbGFjZSB0aGUgcHJldmlvdXMgZnVuY3Rpb24uIFNlZSBiaW5kIGZvciB0aGUgcmV0dXJuIHZhbHVlLlJHAQAAKAIAAABSRgEAAFJ7AAAAKAUAAABSRgAAAFKBAgAAUkMBAABSjwAAAFKxAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQIAAAAdGFnX2JpbmSpCAAAcwQAAAAABhUBYwMAAAADAAAABgAAAEMAAABzIgAAAHQAAHwAAGoBAGoCAHwAAGoDAGQBAHwBAHwCAIMEAIMBAFMoAgAAAHNyAAAAUmV0dXJuIHRoZSBjYW52YXMgeCBjb29yZGluYXRlIG9mIHBpeGVsIHBvc2l0aW9uIFNDUkVFTlggcm91bmRlZAogICAgICAgIHRvIG5lYXJlc3QgbXVsdGlwbGUgb2YgR1JJRFNQQUNJTkcgdW5pdHMudAcAAABjYW52YXN4KAQAAABSZgAAAFI+AAAAUkQAAABSewAAACgDAAAAUkYAAAB0BwAAAHNjcmVlbnh0CwAAAGdyaWRzcGFjaW5nKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKWAgAAsQgAAHMEAAAAAAMMAWMDAAAAAwAAAAYAAABDAAAAcyIAAAB0AAB8AABqAQBqAgB8AABqAwBkAQB8AQB8AgCDBACDAQBTKAIAAABzcgAAAFJldHVybiB0aGUgY2FudmFzIHkgY29vcmRpbmF0ZSBvZiBwaXhlbCBwb3NpdGlvbiBTQ1JFRU5ZIHJvdW5kZWQKICAgICAgICB0byBuZWFyZXN0IG11bHRpcGxlIG9mIEdSSURTUEFDSU5HIHVuaXRzLnQHAAAAY2FudmFzeSgEAAAAUmYAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAdAcAAABzY3JlZW55UpgCAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UpkCAAC2CAAAcwQAAAAAAwwBYwEAAAACAAAABgAAAEcAAABzMgAAAHQAAHQBAHwAAGoCAGoDAHwAAGoCAGoEAHwAAGoFAGQBAGYCAHwBABeDAQCDAQCDAgBTKAIAAABzOAAAAFJldHVybiBhIGxpc3Qgb2YgY29vcmRpbmF0ZXMgZm9yIHRoZSBpdGVtIGdpdmVuIGluIEFSR1MudAYAAABjb29yZHMoBgAAAFIEAAAAUmYAAABSPgAAAFJcAAAAUkQAAABSewAAACgCAAAAUkYAAABSdQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSmwIAALsIAABzBgAAAAADBgEJAWMEAAAABQAAAAkAAABDAAAAc3MAAAB0AAB8AgCDAQB9AgB8AgBkAQAZfQQAdAEAfAQAgwEAdAIAdAMAZgIAawYAcjsAfAIAZAEAIH0CAG4GAGkAAH0EAHQEAHwAAGoFAGoGAHwAAGoHAGQCAHwBAHwCAHwAAGoIAHwEAHwDAIMCABeMAwCDAQBTKAMAAABzEgAAAEludGVybmFsIGZ1bmN0aW9uLmn/////UiACAAAoCQAAAFIYAAAAUhUAAABSHAAAAFIWAAAAUmQAAABSPgAAAFJEAAAAUnsAAABSoAAAACgFAAAAUkYAAAB0CAAAAGl0ZW1UeXBlUnUAAABSdgAAAFIkAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQHAAAAX2NyZWF0ZcEIAABzEAAAAAACDAEKARgBDQIGAQwBDAFjAQAAAAMAAAAEAAAATwAAAHMTAAAAfAAAagAAZAEAfAEAfAIAgwMAUygCAAAAczYAAABDcmVhdGUgYXJjIHNoYXBlZCByZWdpb24gd2l0aCBjb29yZGluYXRlcyB4MSx5MSx4Mix5Mi50AwAAAGFyYygBAAAAUp0CAAAoAwAAAFJGAAAAUnUAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CgAAAGNyZWF0ZV9hcmPMCAAAcwIAAAAAAmMBAAAAAwAAAAQAAABPAAAAcxMAAAB8AABqAABkAQB8AQB8AgCDAwBTKAIAAABzJQAAAENyZWF0ZSBiaXRtYXAgd2l0aCBjb29yZGluYXRlcyB4MSx5MS5S8wEAACgBAAAAUp0CAAAoAwAAAFJGAAAAUnUAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAGNyZWF0ZV9iaXRtYXDPCAAAcwIAAAAAAmMBAAAAAwAAAAQAAABPAAAAcxMAAAB8AABqAABkAQB8AQB8AgCDAwBTKAIAAABzKQAAAENyZWF0ZSBpbWFnZSBpdGVtIHdpdGggY29vcmRpbmF0ZXMgeDEseTEuUroBAAAoAQAAAFKdAgAAKAMAAABSRgAAAFJ1AAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAwAAABjcmVhdGVfaW1hZ2XSCAAAcwIAAAAAAmMBAAAAAwAAAAQAAABPAAAAcxMAAAB8AABqAABkAQB8AQB8AgCDAwBTKAIAAABzLQAAAENyZWF0ZSBsaW5lIHdpdGggY29vcmRpbmF0ZXMgeDEseTEsLi4uLHhuLHluLnQEAAAAbGluZSgBAAAAUp0CAAAoAwAAAFJGAAAAUnUAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAGNyZWF0ZV9saW5l1QgAAHMCAAAAAAJjAQAAAAMAAAAEAAAATwAAAHMTAAAAfAAAagAAZAEAfAEAfAIAgwMAUygCAAAAcykAAABDcmVhdGUgb3ZhbCB3aXRoIGNvb3JkaW5hdGVzIHgxLHkxLHgyLHkyLnQEAAAAb3ZhbCgBAAAAUp0CAAAoAwAAAFJGAAAAUnUAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAGNyZWF0ZV9vdmFs2AgAAHMCAAAAAAJjAQAAAAMAAAAEAAAATwAAAHMTAAAAfAAAagAAZAEAfAEAfAIAgwMAUygCAAAAczAAAABDcmVhdGUgcG9seWdvbiB3aXRoIGNvb3JkaW5hdGVzIHgxLHkxLC4uLix4bix5bi50BwAAAHBvbHlnb24oAQAAAFKdAgAAKAMAAABSRgAAAFJ1AAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA4AAABjcmVhdGVfcG9seWdvbtsIAABzAgAAAAACYwEAAAADAAAABAAAAE8AAABzEwAAAHwAAGoAAGQBAHwBAHwCAIMDAFMoAgAAAHMuAAAAQ3JlYXRlIHJlY3RhbmdsZSB3aXRoIGNvb3JkaW5hdGVzIHgxLHkxLHgyLHkyLnQJAAAAcmVjdGFuZ2xlKAEAAABSnQIAACgDAAAAUkYAAABSdQAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQQAAAAY3JlYXRlX3JlY3RhbmdsZd4IAABzAgAAAAACYwEAAAADAAAABAAAAE8AAABzEwAAAHwAAGoAAGQBAHwBAHwCAIMDAFMoAgAAAHMjAAAAQ3JlYXRlIHRleHQgd2l0aCBjb29yZGluYXRlcyB4MSx5MS50BAAAAHRleHQoAQAAAFKdAgAAKAMAAABSRgAAAFJ1AAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAsAAABjcmVhdGVfdGV4dOEIAABzAgAAAAACYwEAAAADAAAABAAAAE8AAABzEwAAAHwAAGoAAGQBAHwBAHwCAIMDAFMoAgAAAHMrAAAAQ3JlYXRlIHdpbmRvdyB3aXRoIGNvb3JkaW5hdGVzIHgxLHkxLHgyLHkyLlJ6AAAAKAEAAABSnQIAACgDAAAAUkYAAABSdQAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQNAAAAY3JlYXRlX3dpbmRvd+QIAABzAgAAAAACYwEAAAACAAAAAwAAAEcAAABzIQAAAHwAAGoAAGoBAHwAAGoCAGQBAGYCAHwBABeDAQABZAIAUygDAAAAc4oAAABEZWxldGUgY2hhcmFjdGVycyBvZiB0ZXh0IGl0ZW1zIGlkZW50aWZpZWQgYnkgdGFnIG9yIGlkIGluIEFSR1MgKHBvc3NpYmx5CiAgICAgICAgc2V2ZXJhbCB0aW1lcykgZnJvbSBGSVJTVCB0byBMQVNUIGNoYXJhY3RlciAoaW5jbHVkaW5nKS50BgAAAGRjaGFyc04oAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSdQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSrQIAAOcIAABzAgAAAAADYwEAAAACAAAAAwAAAEcAAABzIQAAAHwAAGoAAGoBAHwAAGoCAGQBAGYCAHwBABeDAQABZAIAUygDAAAAczwAAABEZWxldGUgaXRlbXMgaWRlbnRpZmllZCBieSBhbGwgdGFnIG9yIGlkcyBjb250YWluZWQgaW4gQVJHUy5StQEAAE4oAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSdQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlStQEAAOsIAABzAgAAAAACYwEAAAACAAAAAwAAAEcAAABzIQAAAHwAAGoAAGoBAHwAAGoCAGQBAGYCAHwBABeDAQABZAIAUygDAAAAc2kAAABEZWxldGUgdGFnIG9yIGlkIGdpdmVuIGFzIGxhc3QgYXJndW1lbnRzIGluIEFSR1MgZnJvbSBpdGVtcwogICAgICAgIGlkZW50aWZpZWQgYnkgZmlyc3QgYXJndW1lbnQgaW4gQVJHUy50BAAAAGR0YWdOKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUnUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Uq4CAADuCAAAcwIAAAAAA2MBAAAAAgAAAAQAAABHAAAAcywAAAB8AABqAAB8AABqAQBqAgB8AABqAwBkAQBmAgB8AQAXgwEAgwEAcCsAZAIAUygDAAAAcxIAAABJbnRlcm5hbCBmdW5jdGlvbi50BAAAAGZpbmQoAAAAACgEAAAAUvwAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUnUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Uq8CAADyCAAAcwQAAAAAAgYBYwIAAAACAAAAAwAAAEMAAABzEAAAAHwAAGoAAGQBAHwBAIMCAFMoAgAAAHMbAAAAUmV0dXJuIGl0ZW1zIGFib3ZlIFRBR09SSUQuUn8CAAAoAQAAAFKvAgAAKAIAAABSRgAAAFKBAgAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQKAAAAZmluZF9hYm92ZfYIAABzAgAAAAACYwEAAAABAAAAAgAAAEMAAABzDQAAAHwAAGoAAGQBAIMBAFMoAgAAAHMRAAAAUmV0dXJuIGFsbCBpdGVtcy5SSQEAACgBAAAAUq8CAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQIAAAAZmluZF9hbGz5CAAAcwIAAAAAAmMCAAAAAgAAAAMAAABDAAAAcxAAAAB8AABqAABkAQB8AQCDAgBTKAIAAABzHwAAAFJldHVybiBhbGwgaXRlbXMgYmVsb3cgVEFHT1JJRC5ShAIAACgBAAAAUq8CAAAoAgAAAFJGAAAAUoECAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAoAAABmaW5kX2JlbG93/AgAAHMCAAAAAAJjBQAAAAUAAAAGAAAAQwAAAHMZAAAAfAAAagAAZAEAfAEAfAIAfAMAfAQAgwUAUygCAAAAc+wAAABSZXR1cm4gaXRlbSB3aGljaCBpcyBjbG9zZXN0IHRvIHBpeGVsIGF0IFgsIFkuCiAgICAgICAgSWYgc2V2ZXJhbCBtYXRjaCB0YWtlIHRoZSB0b3AtbW9zdC4KICAgICAgICBBbGwgaXRlbXMgY2xvc2VyIHRoYW4gSEFMTyBhcmUgY29uc2lkZXJlZCBvdmVybGFwcGluZyAoYWxsIGFyZQogICAgICAgIGNsb3Nlc3RzKS4gSWYgU1RBUlQgaXMgc3BlY2lmaWVkIHRoZSBuZXh0IGJlbG93IHRoaXMgdGFnIGlzIHRha2VuLlKGAgAAKAEAAABSrwIAACgFAAAAUkYAAABSLAEAAFI5AQAAUocCAABSiAIAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DAAAAGZpbmRfY2xvc2VzdP8IAABzAgAAAAAFYwUAAAAFAAAABgAAAEMAAABzGQAAAHwAAGoAAGQBAHwBAHwCAHwDAHwEAIMFAFMoAgAAAHM9AAAAUmV0dXJuIGFsbCBpdGVtcyBpbiByZWN0YW5nbGUgZGVmaW5lZAogICAgICAgIGJ5IFgxLFkxLFgyLFkyLlKKAgAAKAEAAABSrwIAACgFAAAAUkYAAABSiwIAAFKMAgAAUo0CAABSjgIAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAGZpbmRfZW5jbG9zZWQFCQAAcwIAAAAAA2MFAAAABQAAAAYAAABDAAAAcxkAAAB8AABqAABkAQB8AQB8AgB8AwB8BACDBQBTKAIAAABzTAAAAFJldHVybiBhbGwgaXRlbXMgd2hpY2ggb3ZlcmxhcCB0aGUgcmVjdGFuZ2xlCiAgICAgICAgZGVmaW5lZCBieSBYMSxZMSxYMixZMi5SkAIAACgBAAAAUq8CAAAoBQAAAFJGAAAAUosCAABSjAIAAFKNAgAAUo4CAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBAAAABmaW5kX292ZXJsYXBwaW5nCQkAAHMCAAAAAANjAgAAAAIAAAADAAAAQwAAAHMQAAAAfAAAagAAZAEAfAEAgwIAUygCAAAAcx4AAABSZXR1cm4gYWxsIGl0ZW1zIHdpdGggVEFHT1JJRC5SkgIAACgBAAAAUq8CAAAoAgAAAFJGAAAAUoECAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAwAAABmaW5kX3dpdGh0YWcNCQAAcwIAAAAAAmMBAAAAAgAAAAMAAABHAAAAcx0AAAB8AABqAABqAQB8AABqAgBkAQBmAgB8AQAXgwEAUygCAAAAcy4AAABTZXQgZm9jdXMgdG8gdGhlIGZpcnN0IGl0ZW0gc3BlY2lmaWVkIGluIEFSR1MuUoIAAAAoAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSdQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSggAAABAJAABzAgAAAAACYwEAAAACAAAABAAAAEcAAABzKQAAAHwAAGoAAGoBAHwAAGoAAGoCAHwAAGoDAGQBAGYCAHwBABeDAQCDAQBTKAIAAABzPQAAAFJldHVybiB0YWdzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZmlyc3QgaXRlbSBzcGVjaWZpZWQgaW4gQVJHUy50BwAAAGdldHRhZ3MoBAAAAFI+AAAAUlwAAABSRAAAAFJ7AAAAKAIAAABSRgAAAFJ1AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVK3AgAAEwkAAHMEAAAAAAIJAWMBAAAAAgAAAAMAAABHAAAAcyEAAAB8AABqAABqAQB8AABqAgBkAQBmAgB8AQAXgwEAAWQCAFMoAwAAAHNkAAAAU2V0IGN1cnNvciBhdCBwb3NpdGlvbiBQT1MgaW4gdGhlIGl0ZW0gaWRlbnRpZmllZCBieSBUQUdPUklELgogICAgICAgIEluIEFSR1MgVEFHT1JJRCBtdXN0IGJlIGZpcnN0LnQHAAAAaWN1cnNvck4oAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSdQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSuAIAABcJAABzAgAAAAADYwEAAAACAAAABAAAAEcAAABzIwAAAHQAAHwAAGoBAGoCAHwAAGoDAGQBAGYCAHwBABeDAQCDAQBTKAIAAABzPwAAAFJldHVybiBwb3NpdGlvbiBvZiBjdXJzb3IgYXMgaW50ZWdlciBpbiBpdGVtIHNwZWNpZmllZCBpbiBBUkdTLlKhAQAAKAQAAABSZAAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSdQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSoQEAABsJAABzAgAAAAACYwEAAAACAAAAAwAAAEcAAABzIQAAAHwAAGoAAGoBAHwAAGoCAGQBAGYCAHwBABeDAQABZAIAUygDAAAAc1MAAABJbnNlcnQgVEVYVCBpbiBpdGVtIFRBR09SSUQgYXQgcG9zaXRpb24gUE9TLiBBUkdTIG11c3QKICAgICAgICBiZSBUQUdPUklEIFBPUyBURVhULlJ2AgAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFJ1AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJ2AgAAHgkAAHMCAAAAAANjAwAAAAMAAAAFAAAAQwAAAHMnAAAAfAAAagAAagEAfAAAagIAZAEAZgIAfAEAZAIAfAIAF2YCABeDAQBTKAMAAABzOQAAAFJldHVybiB0aGUgcmVzb3VyY2UgdmFsdWUgZm9yIGFuIE9QVElPTiBmb3IgaXRlbSBUQUdPUklELnQIAAAAaXRlbWNnZXRSVwEAACgDAAAAUj4AAABSRAAAAFJ7AAAAKAMAAABSRgAAAFKBAgAAUrAAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UrkCAAAiCQAAcwQAAAAAAgkBYwMAAAAEAAAABAAAAEsAAABzGQAAAHwAAGoAAGQBAHwBAGYCAHwCAHwDAIMDAFMoAgAAAHPgAAAAQ29uZmlndXJlIHJlc291cmNlcyBvZiBhbiBpdGVtIFRBR09SSUQuCgogICAgICAgIFRoZSB2YWx1ZXMgZm9yIHJlc291cmNlcyBhcmUgc3BlY2lmaWVkIGFzIGtleXdvcmQKICAgICAgICBhcmd1bWVudHMuIFRvIGdldCBhbiBvdmVydmlldyBhYm91dAogICAgICAgIHRoZSBhbGxvd2VkIGtleXdvcmQgYXJndW1lbnRzIGNhbGwgdGhlIG1ldGhvZCB3aXRob3V0IGFyZ3VtZW50cy4KICAgICAgICB0DQAAAGl0ZW1jb25maWd1cmUoAQAAAFKIAQAAKAQAAABSRgAAAFKBAgAAUiQAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSugIAACYJAABzAgAAAAAHYwEAAAACAAAAAwAAAEcAAABzIQAAAHwAAGoAAGoBAHwAAGoCAGQBAGYCAHwBABeDAQABZAIAUygDAAAAc0oAAABMb3dlciBhbiBpdGVtIFRBR09SSUQgZ2l2ZW4gaW4gQVJHUwogICAgICAgIChvcHRpb25hbCBiZWxvdyBhbm90aGVyIGl0ZW0pLlLHAAAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFJ1AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQJAAAAdGFnX2xvd2VyMwkAAHMCAAAAAANjAQAAAAIAAAADAAAARwAAAHMhAAAAfAAAagAAagEAfAAAagIAZAEAZgIAfAEAF4MBAAFkAgBTKAMAAABzIwAAAE1vdmUgYW4gaXRlbSBUQUdPUklEIGdpdmVuIGluIEFSR1MudAQAAABtb3ZlTigDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFJ1AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVK8AgAAOAkAAHMCAAAAAAJjAgAAAAMAAAAFAAAASwAAAHMpAAAAfAAAagAAagEAfAAAagIAZAEAZgIAfAAAagMAfAEAfAIAgwIAF4MBAFMoAgAAAHPPAAAAUHJpbnQgdGhlIGNvbnRlbnRzIG9mIHRoZSBjYW52YXMgdG8gYSBwb3N0c2NyaXB0CiAgICAgICAgZmlsZS4gVmFsaWQgb3B0aW9uczogY29sb3JtYXAsIGNvbG9ybW9kZSwgZmlsZSwgZm9udG1hcCwKICAgICAgICBoZWlnaHQsIHBhZ2VhbmNob3IsIHBhZ2VoZWlnaHQsIHBhZ2V3aWR0aCwgcGFnZXgsIHBhZ2V5LAogICAgICAgIHJvdGF0ZSwgd2l0ZGgsIHgsIHkudAoAAABwb3N0c2NyaXB0KAQAAABSPgAAAFJEAAAAUnsAAABSoAAAACgDAAAAUkYAAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVK9AgAAOwkAAHMEAAAAAAUVAWMBAAAAAgAAAAMAAABHAAAAcyEAAAB8AABqAABqAQB8AABqAgBkAQBmAgB8AQAXgwEAAWQCAFMoAwAAAHNKAAAAUmFpc2UgYW4gaXRlbSBUQUdPUklEIGdpdmVuIGluIEFSR1MKICAgICAgICAob3B0aW9uYWwgYWJvdmUgYW5vdGhlciBpdGVtKS5SyQAAAE4oAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSdQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CQAAAHRhZ19yYWlzZUIJAABzAgAAAAADYwEAAAACAAAAAwAAAEcAAABzIQAAAHwAAGoAAGoBAHwAAGoCAGQBAGYCAHwBABeDAQABZAIAUygDAAAAczkAAABTY2FsZSBpdGVtIFRBR09SSUQgd2l0aCBYT1JJR0lOLCBZT1JJR0lOLCBYU0NBTEUsIFlTQ0FMRS50BQAAAHNjYWxlTigDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFJ1AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVK/AgAARwkAAHMCAAAAAAJjAwAAAAMAAAAGAAAAQwAAAHMjAAAAfAAAagAAagEAfAAAagIAZAEAZAIAfAEAfAIAgwUAAWQDAFMoBAAAAHMmAAAAUmVtZW1iZXIgdGhlIGN1cnJlbnQgWCwgWSBjb29yZGluYXRlcy50BAAAAHNjYW50BAAAAG1hcmtOKAMAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAUiwBAABSOQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CQAAAHNjYW5fbWFya0oJAABzAgAAAAACaQoAAABjBAAAAAQAAAAHAAAAQwAAAHMmAAAAfAAAagAAagEAfAAAagIAZAEAZAIAfAEAfAIAfAMAgwYAAWQDAFMoBAAAAHOCAAAAQWRqdXN0IHRoZSB2aWV3IG9mIHRoZSBjYW52YXMgdG8gR0FJTiB0aW1lcyB0aGUKICAgICAgICBkaWZmZXJlbmNlIGJldHdlZW4gWCBhbmQgWSBhbmQgdGhlIGNvb3JkaW5hdGVzIGdpdmVuIGluCiAgICAgICAgc2Nhbl9tYXJrLlLAAgAAdAYAAABkcmFndG9OKAMAAABSPgAAAFJEAAAAUnsAAAAoBAAAAFJGAAAAUiwBAABSOQEAAHQEAAAAZ2FpbigAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAHNjYW5fZHJhZ3RvTQkAAHMCAAAAAARjAwAAAAMAAAAGAAAAQwAAAHMjAAAAfAAAagAAagEAfAAAagIAZAEAZAIAfAEAfAIAgwUAAWQDAFMoBAAAAHNMAAAAQWRqdXN0IHRoZSBlbmQgb2YgdGhlIHNlbGVjdGlvbiBuZWFyIHRoZSBjdXJzb3Igb2YgYW4gaXRlbSBUQUdPUklEIHRvIGluZGV4LnQGAAAAc2VsZWN0dAYAAABhZGp1c3ROKAMAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAUoECAABSoQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAHNlbGVjdF9hZGp1c3RSCQAAcwIAAAAAAmMBAAAAAQAAAAQAAABDAAAAcx0AAAB8AABqAABqAQB8AABqAgBkAQBkAgCDAwABZAMAUygEAAAAcywAAABDbGVhciB0aGUgc2VsZWN0aW9uIGlmIGl0IGlzIGluIHRoaXMgd2lkZ2V0LlLGAgAAUqIAAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRl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dXR0b25OKAIAAABSZAIAAFJJAAAAKAQAAABSRgAAAFJHAAAAUiQAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSSQAAAGcJAABzAgAAAAAKYwEAAAABAAAAAwAAAEMAAABzGgAAAHwAAGoAAGoBAHwAAGoCAGQBAIMCAAFkAgBTKAMAAABzHAAAAFB1dCB0aGUgYnV0dG9uIGluIG9mZi1zdGF0ZS50CAAAAGRlc2VsZWN0TigDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlS0gIAAHIJAABzAgAAAAACYwEAAAABAAAAAwAAAEMAAABzGgAAAHwAAGoAAGoBAHwAAGoCAGQBAIMCAAFkAgBTKAMAAABzEQAAAEZsYXNoIHRoZSBidXR0b24uUnICAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJyAgAAdQkAAHMCAAAAAAJjAQAAAAEAAAADAAAAQwAAAHMWAAAAfAAAagAAagEAfAAAagIAZAEAgwIAUygCAAAAczwAAABUb2dnbGUgdGhlIGJ1dHRvbiBhbmQgaW52b2tlIGEgY29tbWFuZCBpZiBnaXZlbiBhcyByZXNvdXJjZS5ScwIAACgDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlScwIAAHgJAABzAgAAAAACYwEAAAABAAAAAwAAAEMAAABzGgAAAHwAAGoAAGoBAHwAAGoCAGQBAIMCAAFkAgBTKAMAAABzGwAAAFB1dCB0aGUgYnV0dG9uIGluIG9uLXN0YXRlLlLGAgAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSxgIAAHsJAABzAgAAAAACYwEAAAABAAAAAwAAAEMAAABzGgAAAHwAAGoAAGoBAHwAAGoCAGQBAIMCAAFkAgBTKAMAAABzEgAAAFRvZ2dsZSB0aGUgYnV0dG9uLnQGAAAAdG9nZ2xlTigDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlS0wIAAH4JAABzAgAAAAACTigKAAAAUisAAABSLAAAAFItAAAAUhkAAABSSQAAAFLSAgAAUnICAABScwIAAFLGAgAAUtMCAAAoAAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlS0AIAAGUJAABzDgAAAAYB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AAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UrgCAACWCQAAcwIAAAAAAmMCAAAAAgAAAAUAAABDAAAAcx8AAAB0AAB8AABqAQBqAgB8AABqAwBkAQB8AQCDAwCDAQBTKAIAAABzGgAAAFJldHVybiBwb3NpdGlvbiBvZiBjdXJzb3IuUqEBAAAoBAAAAFJkAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFKhAQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKhAQAAmQkAAHMEAAAAAAIMAWMDAAAAAwAAAAUAAABDAAAAcyAAAAB8AABqAABqAQB8AABqAgBkAQB8AQB8AgCDBAABZAIAUygDAAAAcxcAAABJbnNlcnQgU1RSSU5HIGF0IElOREVYLlJ2AgAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAMAAABSRgAAAFKhAQAAUqUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UnYCAACdCQAAcwIAAAAAAmMCAAAAAgAAAAUAAABDAAAAcyAAAAB8AABqAABqAQB8AABqAgBkAQBkAgB8AQCDBAABZAMAUygEAAAAcyYAAABSZW1lbWJlciB0aGUgY3VycmVudCBYLCBZIGNvb3JkaW5hdGVzLlLAAgAAUsECAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUiwBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UsICAACgCQAAcwIAAAAAAmMCAAAAAgAAAAUAAABDAAAAcyAAAAB8AABqAABqAQB8AABqAgBkAQBkAgB8AQCDBAABZAMAUygEAAAAc4AAAABBZGp1c3QgdGhlIHZpZXcgb2YgdGhlIGNhbnZhcyB0byAxMCB0aW1lcyB0aGUKICAgICAgICBkaWZmZXJlbmNlIGJldHdlZW4gWCBhbmQgWSBhbmQgdGhlIGNvb3JkaW5hdGVzIGdpdmVuIGluCiAgICAgICAgc2Nhbl9tYXJrLlLAAgAAUsMCAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUiwBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UsUCAACjCQAAcwIAAAAABGMCAAAAAgAAAAUAAABDAAAAcyAAAAB8AABqAABqAQB8AABqAgBkAQBkAgB8AQCDBAABZAMAUygEAAAAczkAAABBZGp1c3QgdGhlIGVuZCBvZiB0aGUgc2VsZWN0aW9uIG5lYXIgdGhlIGN1cnNvciB0byBJTkRFWC5SuwAAAFLHAgAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFKhAQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQQAAAAc2VsZWN0aW9uX2FkanVzdKgJAABzAgAAAAACYwEAAAABAAAABAAAAEMAAABzHQAAAHwAAGoAAGoBAHwAAGoCAGQBAGQCAIMDAAFkAwBTKAQAAABzLAAAAENsZWFyIHRoZSBzZWxlY3Rpb24gaWYgaXQgaXMgaW4gdGhpcyB3aWRnZXQuUrsAAABSogAAAE4oAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UrwAAACsCQAAcwIAAAAAAmMCAAAAAgAAAAUAAABDAAAAcyAAAAB8AABqAABqAQB8AABqAgBkAQBkAgB8AQCDBAABZAMAUygEAAAAcyoAAABTZXQgdGhlIGZpeGVkIGVuZCBvZiBhIHNlbGVjdGlvbiB0byBJTkRFWC5SuwAAAFLKAgAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFKhAQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQOAAAAc2VsZWN0aW9uX2Zyb22wCQAAcwIAAAAAAmMBAAAAAQAAAAUAAABDAAAAcyUAAAB8AABqAABqAQB8AABqAABqAgB8AABqAwBkAQBkAgCDAwCDAQBTKAMAAABzUwAAAFJldHVybiBUcnVlIGlmIHRoZXJlIGFyZSBjaGFyYWN0ZXJzIHNlbGVjdGVkIGluIHRoZSBlbnRyeSwgRmFsc2UKICAgICAgICBvdGhlcndpc2UuUrsAAAB0BwAAAHByZXNlbnQoBAAAAFI+AAAAUmgAAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0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aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkkAAADFCQAAcxIAAAAABhIBBgEMARABCgEMARABCgFOKAUAAABSKwAAAFIsAAAAUi0AAABSGQAAAFJJAAAAKAAAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UuACAADDCQAAcwQAAAAGAQYBdAUAAABMYWJlbGMAAAAAAAAAAAMAAABCAAAAcx0AAABlAABaAQBkAABaAgBkAgBpAABkAQCEAgBaBABSUygDAAAAczAAAABMYWJlbCB3aWRnZXQgd2hpY2ggY2FuIGRpc3BsYXkgdGV4dCBhbmQgYml0bWFwcy5jAwAAAAQAAAAGAAAASwAAAHMdAAAAdAAAagEAfAAAfAEAZAEAfAIAfAMAgwUAAWQCAFMoAwAAAHP5AQAAQ29uc3RydWN0IGEgbGFiZWwgd2lkZ2V0IHdpdGggdGhlIHBhcmVudCBNQVNURVIuCgogICAgICAgIFNUQU5EQVJEIE9QVElPTlMKCiAgICAgICAgICAgIGFjdGl2ZWJhY2tncm91bmQsIGFjdGl2ZWZvcmVncm91bmQsIGFuY2hvciwKICAgICAgICAgICAgYmFja2dyb3VuZCwgYml0bWFwLCBib3JkZXJ3aWR0aCwgY3Vyc29yLAogICAgICAgICAgICBkaXNhYmxlZGZvcmVncm91bmQsIGZvbnQsIGZvcmVncm91bmQsCiAgICAgICAgICAgIGhpZ2hsaWdodGJhY2tncm91bmQsIGhpZ2hsaWdodGNvbG9yLAogICAgICAgICAgICBoaWdobGlnaHR0aGlja25lc3MsIGltYWdlLCBqdXN0aWZ5LAogICAgICAgICAgICBwYWR4LCBwYWR5LCByZWxpZWYsIHRha2Vmb2N1cywgdGV4dCwKICAgICAgICAgICAgdGV4dHZhcmlhYmxlLCB1bmRlcmxpbmUsIHdyYXBsZW5ndGgKCiAgICAgICAgV0lER0VULVNQRUNJRklDIE9QVElPTlMKCiAgICAgICAgICAgIGhlaWdodCwgc3RhdGUsIHdpZHRoCgogICAgICAgIHQFAAAAbGFiZWxOKAIAAABSZAIAAFJJAAAAKAQAAABSRgAAAFJHAAAAUiQAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSSQAAANcJAABzAgAAAAASTigFAAAAUisAAABSLAAAAFItAAAAUhkAAABSSQAAACgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLhAgAA1QkAAHMEAAAABgEGAXQHAAAATGlzdGJveGMAAAAAAAAAAAMAAABCAAAAc+wAAABlAABaAQBkAABaAgBkFABpAABkAQCEAgBaBABkAgCEAABaBQBkAwCEAABaBgBkBACEAABaBwBkFABkBQCEAQBaCABkFABkBgCEAQBaCQBkBwCEAABaCgBkCACEAABaCwBkCQCEAABaDABkCgCEAABaDQBkCwCEAABaDgBkDACEAABaDwBkDQCEAABaEABlEABaEQBkFABkDgCEAQBaEgBlEgBaEwBkDwCEAABaFABlFABaFQBkFABkEACEAQBaFgBlFgBaFwBkEQCEAABaGABkEgCEAABaGQBkFABkEwCEAQBaGgBlGgBaGwBSUygVAAAAczMAAABMaXN0Ym94IHdpZGdldCB3aGljaCBjYW4gZGlzcGxheSBhIGxpc3Qgb2Ygc3RyaW5ncy5jAwAAAAQAAAAGAAAASwAAAHMdAAAAdAAAagEAfAAAfAEAZAEAfAIAfAMAgwUAAWQCAFMoAwAAAHOWAQAAQ29uc3RydWN0IGEgbGlzdGJveCB3aWRnZXQgd2l0aCB0aGUgcGFyZW50IE1BU1RFUi4KCiAgICAgICAgVmFsaWQgcmVzb3VyY2UgbmFtZXM6IGJhY2tncm91bmQsIGJkLCBiZywgYm9yZGVyd2lkdGgsIGN1cnNvciwKICAgICAgICBleHBvcnRzZWxlY3Rpb24sIGZnLCBmb250LCBmb3JlZ3JvdW5kLCBoZWlnaHQsIGhpZ2hsaWdodGJhY2tncm91bmQsCiAgICAgICAgaGlnaGxpZ2h0Y29sb3IsIGhpZ2hsaWdodHRoaWNrbmVzcywgcmVsaWVmLCBzZWxlY3RiYWNrZ3JvdW5kLAogICAgICAgIHNlbGVjdGJvcmRlcndpZHRoLCBzZWxlY3Rmb3JlZ3JvdW5kLCBzZWxlY3Rtb2RlLCBzZXRncmlkLCB0YWtlZm9jdXMsCiAgICAgICAgd2lkdGgsIHhzY3JvbGxjb21tYW5kLCB5c2Nyb2xsY29tbWFuZCwgbGlzdHZhcmlhYmxlLnQHAAAAbGlzdGJveE4oAgAAAFJkAgAAUkkAAAAoBAAAAFJGAAAAUkcAAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJJAAAA7QkAAHMCAAAAAAhjAgAAAAIAAAAEAAAAQwAAAHMdAAAAfAAAagAAagEAfAAAagIAZAEAfAEAgwMAAWQCAFMoAwAAAHMiAAAAQWN0aXZhdGUgaXRlbSBpZGVudGlmaWVkIGJ5IElOREVYLnQIAAAAYWN0aXZhdGVOKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUqEBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UuUCAAD2CQAAcwIAAAAAAmMBAAAAAgAAAAQAAABHAAAAcywAAAB8AABqAAB8AABqAQBqAgB8AABqAwBkAQBmAgB8AQAXgwEAgwEAcCsAZAIAUygDAAAAc3YAAABSZXR1cm4gYSB0dXBsZSBvZiBYMSxZMSxYMixZMiBjb29yZGluYXRlcyBmb3IgYSByZWN0YW5nbGUKICAgICAgICB3aGljaCBlbmNsb3NlcyB0aGUgaXRlbSBpZGVudGlmaWVkIGJ5IGluZGV4IGluIEFSR1MuUpoBAABOKAUAAABS/AAAAFI+AAAAUkQAAABSewAAAFIZAAAAKAIAAABSRgAAAFJ1AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKaAQAA+QkAAHMEAAAAAAMGAWMBAAAAAQAAAAQAAABDAAAAcyIAAAB8AABqAABqAQB8AABqAABqAgB8AABqAwBkAQCDAgCDAQBTKAIAAABzMgAAAFJldHVybiBsaXN0IG9mIGluZGljZXMgb2YgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW0udAwAAABjdXJzZWxlY3Rpb24oBAAAAFI+AAAAUlwAAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlS5gIAAP4JAABzBAAAAAADEgFjAwAAAAMAAAAFAAAAQwAAAHMgAAAAfAAAagAAagEAfAAAagIAZAEAfAEAfAIAgwQAAWQCAFMoAwAAAHMvAAAARGVsZXRlIGl0ZW1zIGZyb20gRklSU1QgdG8gTEFTVCAobm90IGluY2x1ZGVkKS5StQEAAE4oAwAAAFI+AAAAUkQAAABSewAAACgDAAAAUkYAAABS1gIAAFLXAgAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVK1AQAAAwoAAHMCAAAAAAJjAwAAAAMAAAAGAAAAQwAAAHNLAAAAfAIAci4AfAAAagAAagEAfAAAagAAagIAfAAAagMAZAEAfAEAfAIAgwQAgwEAU3wAAGoAAGoCAHwAAGoDAGQBAHwBAIMDAFNkAgBTKAMAAABzNAAAAEdldCBsaXN0IG9mIGl0ZW1zIGZyb20gRklSU1QgdG8gTEFTVCAobm90IGluY2x1ZGVkKS5STwAAAE4oBAAAAFI+AAAAUlwAAABSRAAAAFJ7AAAAKAMAAABSRgAAAFLWAgAAUtcCAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Uk8AAAAGCgAAcwgAAAAAAgYBEgEWAmMCAAAAAwAAAAQAAABDAAAAczUAAAB8AABqAABqAQB8AABqAgBkAQB8AQCDAwB9AgB8AgBkAgBrAgByKwBkAwBTdAQAfAIAgwEAUygEAAAAcysAAABSZXR1cm4gaW5kZXggb2YgaXRlbSBpZGVudGlmaWVkIHdpdGggSU5ERVguUqEBAABShQAAAE4oBQAAAFI+AAAAUkQAAABSewAAAFIZAAAAUmQAAAAoAwAAAFJGAAAAUqEBAABSpQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSoQEAAA0KAABzCAAAAAACGwEMAAQBYwIAAAADAAAABAAAAEcAAABzJAAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAGYDAHwCABeDAQABZAIAUygDAAAAcxkAAABJbnNlcnQgRUxFTUVOVFMgYXQgSU5ERVguUnYCAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAUqEBAAB0CAAAAGVsZW1lbnRzKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJ2AgAAEgoAAHMCAAAAAAJjAgAAAAIAAAAFAAAAQwAAAHMfAAAAdAAAfAAAagEAagIAfAAAagMAZAEAfAEAgwMAgwEAUygCAAAAczUAAABHZXQgaW5kZXggb2YgaXRlbSB3aGljaCBpcyBuZWFyZXN0IHRvIHkgY29vcmRpbmF0ZSBZLnQHAAAAbmVhcmVzdCgEAAAAUmQAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUjkBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UugCAAAVCgAAcwQAAAAAAgwBYwMAAAADAAAABgAAAEMAAABzIwAAAHwAAGoAAGoBAHwAAGoCAGQBAGQCAHwBAHwCAIMFAAFkAwBTKAQAAABzJgAAAFJlbWVtYmVyIHRoZSBjdXJyZW50IFgsIFkgY29vcmRpbmF0ZXMuUsACAABSwQIAAE4oAwAAAFI+AAAAUkQAAABSewAAACgDAAAAUkYAAABSLAEAAFI5AQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLCAgAAGQoAAHMCAAAAAAJjAwAAAAMAAAAGAAAAQwAAAHMjAAAAfAAAagAAagEAfAAAagIAZAEAZAIAfAEAfAIAgwUAAWQDAFMoBAAAAHOBAAAAQWRqdXN0IHRoZSB2aWV3IG9mIHRoZSBsaXN0Ym94IHRvIDEwIHRpbWVzIHRoZQogICAgICAgIGRpZmZlcmVuY2UgYmV0d2VlbiBYIGFuZCBZIGFuZCB0aGUgY29vcmRpbmF0ZXMgZ2l2ZW4gaW4KICAgICAgICBzY2FuX21hcmsuUsACAABSwwIAAE4oAwAAAFI+AAAAUkQAAABSewAAACgDAAAAUkYAAABSLAEAAFI5AQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLFAgAAHAoAAHMCAAAAAARjAgAAAAIAAAAEAAAAQwAAAHMdAAAAfAAAagAAagEAfAAAagIAZAEAfAEAgwMAAWQCAFMoAwAAAHMiAAAAU2Nyb2xsIHN1Y2ggdGhhdCBJTkRFWCBpcyB2aXNpYmxlLnQDAAAAc2VlTigDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFKhAQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLpAgAAIQoAAHMCAAAAAAJjAgAAAAIAAAAFAAAAQwAAAHMgAAAAfAAAagAAagEAfAAAagIAZAEAZAIAfAEAgwQAAWQDAFMoBAAAAHMtAAAAU2V0IHRoZSBmaXhlZCBlbmQgb2Z0IHRoZSBzZWxlY3Rpb24gdG8gSU5ERVguUrsAAAB0BgAAAGFuY2hvck4oAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSoQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0EAAAAHNlbGVjdGlvbl9hbmNob3IkCgAAcwIAAAAAAmMDAAAAAwAAAAYAAABDAAAAcyMAAAB8AABqAABqAQB8AABqAgBkAQBkAgB8AQB8AgCDBQABZAMAUygEAAAAczYAAABDbGVhciB0aGUgc2VsZWN0aW9uIGZyb20gRklSU1QgdG8gTEFTVCAobm90IGluY2x1ZGVkKS5SuwAAAFKiAAAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAMAAABSRgAAAFLWAgAAUtcCAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UrwAAAAoCgAAcwQAAAAAAg8BYwIAAAACAAAABgAAAEMAAABzKAAAAHwAAGoAAGoBAHwAAGoAAGoCAHwAAGoDAGQBAGQCAHwBAIMEAIMBAFMoAwAAAHMrAAAAUmV0dXJuIDEgaWYgSU5ERVggaXMgcGFydCBvZiB0aGUgc2VsZWN0aW9uLlK7AAAAdAgAAABpbmNsdWRlcygEAAAAUj4AAABSaAAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUqEBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBIAAABzZWxlY3Rpb25faW5jbHVkZXMtCgAAcwQAAAAAAhIBYwMAAAADAAAABgAAAEMAAABzIwAAAHwAAGoAAGoBAHwAAGoCAGQBAGQCAHwBAHwCAIMFAAFkAwBTKAQAAABzbQAAAFNldCB0aGUgc2VsZWN0aW9uIGZyb20gRklSU1QgdG8gTEFTVCAobm90IGluY2x1ZGVkKSB3aXRob3V0CiAgICAgICAgY2hhbmdpbmcgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBlbGVtZW50cy5SuwAAAFJDAAAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAMAAABSRgAAAFLWAgAAUtcCAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA0AAABzZWxlY3Rpb25fc2V0MgoAAHMCAAAAAANjAQAAAAEAAAAEAAAAQwAAAHMcAAAAdAAAfAAAagEAagIAfAAAagMAZAEAgwIAgwEAUygCAAAAcy0AAABSZXR1cm4gdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgbGlzdGJveC5SrgEAACgEAAAAUmQAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKuAQAANwoAAHMCAAAAAAJjAwAAAAMAAAAFAAAAQwAAAHMnAAAAfAAAagAAagEAfAAAagIAZAEAZgIAfAEAZAIAfAIAF2YCABeDAQBTKAMAAABzNAAAAFJldHVybiB0aGUgcmVzb3VyY2UgdmFsdWUgZm9yIGFuIElURU0gYW5kIGFuIE9QVElPTi5SuQIAAFJXAQAAKAMAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAUqEBAABSsAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSuQIAADoKAABzBAAAAAACCQFjAwAAAAQAAAAEAAAASwAAAHMZAAAAfAAAagAAZAEAfAEAZgIAfAIAfAMAgwMAUygCAAAAczkBAABDb25maWd1cmUgcmVzb3VyY2VzIG9mIGFuIElURU0uCgogICAgICAgIFRoZSB2YWx1ZXMgZm9yIHJlc291cmNlcyBhcmUgc3BlY2lmaWVkIGFzIGtleXdvcmQgYXJndW1lbnRzLgogICAgICAgIFRvIGdldCBhbiBvdmVydmlldyBhYm91dCB0aGUgYWxsb3dlZCBrZXl3b3JkIGFyZ3VtZW50cwogICAgICAgIGNhbGwgdGhlIG1ldGhvZCB3aXRob3V0IGFyZ3VtZW50cy4KICAgICAgICBWYWxpZCByZXNvdXJjZSBuYW1lczogYmFja2dyb3VuZCwgYmcsIGZvcmVncm91bmQsIGZnLAogICAgICAgIHNlbGVjdGJhY2tncm91bmQsIHNlbGVjdGZvcmVncm91bmQuUroCAAAoAQAAAFKIAQAAKAQAAABSRgAAAFKhAQAAUiQAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSugIAAD4KAABzAgAAAAAITigcAAAAUisAAABSLAAAAFItAAAAUhkAAABSSQAAAFLlAgAAUpoBAABS5gIAAFK1AQAAUk8AAABSoQEAAFJ2AgAAUugCAABSwgIAAFLFAgAAUukCAABS6wIAAHQNAAAAc2VsZWN0X2FuY2hvclK8AAAAUskCAABS7QIAAHQPAAAAc2VsZWN0X2luY2x1ZGVzUu4CAAB0CgAAAHNlbGVjdF9zZXRSrgEAAFK5AgAAUroCAABSzwIAACgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLjAgAA6wkAAHMyAAAABgEGAQ8JCQMJBQkFDAMMBwkFCQMJBAkDCQUJAwkDBgEMBAYBCQQGAQwEBgEJAwkEDAl0BAAAAE1lbnVjAAAAAAAAAAADAAAAQgAAAHOCAQAAZQAAWgEAZAAAWgIAZCUAaQAAZAEAhAIAWgQAZAIAhAAAWgUAZAMAhAAAWgYAZAQAhAAAWgcAZAUAhAAAWggAZAYAhAAAWgkAZAcAhAAAWgoAZAgAhAAAWgsAZAkAhAAAWgwAZAoAhAAAWg0AZAsAhAAAWg4AZAwAhAAAWg8AZA0AZA4AhAEAWhAAZA8AhAAAWhEAaQAAZBAAhAEAWhIAaQAAZBEAhAEAWhMAaQAAZBIAhAEAWhQAaQAAZBMAhAEAWhUAaQAAZBQAhAEAWhYAaQAAZBUAhAEAWhcAaQAAZBYAhAEAWhgAaQAAZBcAhAEAWhkAaQAAZBgAhAEAWhoAaQAAZBkAhAEAWhsAaQAAZBoAhAEAWhwAaQAAZBsAhAEAWh0AZCUAZBwAhAEAWh4AZB0AhAAAWh8AZCUAZB4AhAEAWiAAZSAAWiEAZB8AhAAAWiIAZCAAhAAAWiMAZCEAhAAAWiQAZCIAhAAAWiUAZCMAhAAAWiYAZCQAhAAAWicAUlMoJgAAAHNQAAAATWVudSB3aWRnZXQgd2hpY2ggYWxsb3dzIHRvIGRpc3BsYXkgbWVudSBiYXJzLCBwdWxsLWRvd24gbWVudXMgYW5kIHBvcC11cCBtZW51cy5jAwAAAAQAAAAGAAAASwAAAHMdAAAAdAAAagEAfAAAfAEAZAEAfAIAfAMAgwUAAWQCAFMoAwAAAHNBAQAAQ29uc3RydWN0IG1lbnUgd2lkZ2V0IHdpdGggdGhlIHBhcmVudCBNQVNURVIuCgogICAgICAgIFZhbGlkIHJlc291cmNlIG5hbWVzOiBhY3RpdmViYWNrZ3JvdW5kLCBhY3RpdmVib3JkZXJ3aWR0aCwKICAgICAgICBhY3RpdmVmb3JlZ3JvdW5kLCBiYWNrZ3JvdW5kLCBiZCwgYmcsIGJvcmRlcndpZHRoLCBjdXJzb3IsCiAgICAgICAgZGlzYWJsZWRmb3JlZ3JvdW5kLCBmZywgZm9udCwgZm9yZWdyb3VuZCwgcG9zdGNvbW1hbmQsIHJlbGllZiwKICAgICAgICBzZWxlY3Rjb2xvciwgdGFrZWZvY3VzLCB0ZWFyb2ZmLCB0ZWFyb2ZmY29tbWFuZCwgdGl0bGUsIHR5cGUudAQAAABtZW51TigCAAAAUmQCAABSSQAAACgEAAAAUkYAAABSRwAAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkkAAABLCgAAcwIAAAAAB2MBAAAAAQAAAAEAAABDAAAAcwQAAABkAABTKAEAAABOKAAAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQTAAAAdGtfYmluZEZvclRyYXZlcnNhbFMKAABzAgAAAAABYwEAAAABAAAAAwAAAEMAAABzGgAAAHwAAGoAAGoBAGQBAHwAAGoCAIMCAAFkAABTKAIAAABOdAkAAAB0a19tYlBvc3QoAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UvUCAABVCgAAcwIAAAAAAWMBAAAAAQAAAAIAAABDAAAAcxQAAAB8AABqAABqAQBkAQCDAQABZAAAUygCAAAATnQLAAAAdGtfbWJVbnBvc3QoAgAAAFI+AAAAUkQAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVL2AgAAVwoAAHMCAAAAAAFjAgAAAAIAAAAEAAAAQwAAAHMdAAAAfAAAagAAagEAZAEAfAAAagIAfAEAgwMAAWQAAFMoAgAAAE50EQAAAHRrX3RyYXZlcnNlVG9NZW51KAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUmkBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UvcCAABZCgAAcwIAAAAAAWMCAAAAAgAAAAQAAABDAAAAcx0AAAB8AABqAABqAQBkAQB8AABqAgB8AQCDAwABZAAAUygCAAAATnQVAAAAdGtfdHJhdmVyc2VXaXRoaW5NZW51KAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUmkBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UvgCAABbCgAAcwIAAAAAAWMBAAAAAQAAAAMAAABDAAAAcxYAAAB8AABqAABqAQBkAQB8AABqAgCDAgBTKAIAAABOdBEAAAB0a19nZXRNZW51QnV0dG9ucygDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlS+QIAAF0KAABzAgAAAAABYwIAAAACAAAAAwAAAEMAAABzFwAAAHwAAGoAAGoBAGQBAHwBAIMCAAFkAABTKAIAAABOdAsAAAB0a19uZXh0TWVudSgCAAAAUj4AAABSRAAAACgCAAAAUkYAAAB0BQAAAGNvdW50KAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVL6AgAAXwoAAHMCAAAAAAFjAgAAAAIAAAADAAAAQwAAAHMXAAAAfAAAagAAagEAZAEAfAEAgwIAAWQAAFMoAgAAAE50EAAAAHRrX25leHRNZW51RW50cnkoAgAAAFI+AAAAUkQAAAAoAgAAAFJGAAAAUvsCAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UvwCAABhCgAAcwIAAAAAAWMBAAAAAQAAAAMAAABDAAAAcxoAAAB8AABqAABqAQBkAQB8AABqAgCDAgABZAAAUygCAAAATnQNAAAAdGtfaW52b2tlTWVudSgDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlS/QIAAGMKAABzAgAAAAABYwEAAAABAAAAAwAAAEMAAABzGgAAAHwAAGoAAGoBAGQBAHwAAGoCAIMCAAFkAABTKAIAAABOdAwAAAB0a19maXJzdE1lbnUoAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Uv4CAABlCgAAcwIAAAAAAWMBAAAAAQAAAAMAAABDAAAAcxoAAAB8AABqAABqAQBkAQB8AABqAgCDAgABZAAAUygCAAAATnQPAAAAdGtfbWJCdXR0b25Eb3duKAMAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVL/AgAAZwoAAHMCAAAAAAFSOQAAAGMEAAAABAAAAAYAAABDAAAAcyMAAAB8AABqAABqAQBkAQB8AABqAgB8AQB8AgB8AwCDBQABZAIAUygDAAAAcy8AAABQb3N0IHRoZSBtZW51IGF0IHBvc2l0aW9uIFgsWSB3aXRoIGVudHJ5IEVOVFJZLnQIAAAAdGtfcG9wdXBOKAMAAABSPgAAAFJEAAAAUnsAAAAoBAAAAFJGAAAAUiwBAABSOQEAAFLVAgAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVIAAwAAaQoAAHMCAAAAAAJjAgAAAAIAAAAEAAAAQwAAAHMdAAAAfAAAagAAagEAfAAAagIAZAEAfAEAgwMAAWQCAFMoAwAAAHMYAAAAQWN0aXZhdGUgZW50cnkgYXQgSU5ERVguUuUCAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUqEBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UuUCAABsCgAAcwIAAAAAAmMDAAAABAAAAAUAAABLAAAAczAAAAB8AABqAABqAQB8AABqAgBkAQB8AQBmAwB8AABqAwB8AgB8AwCDAgAXgwEAAWQCAFMoAwAAAHMSAAAASW50ZXJuYWwgZnVuY3Rpb24uUrEAAABOKAQAAABSPgAAAFJEAAAAUnsAAABSoAAAACgEAAAAUkYAAABSnAIAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UrEAAABvCgAAcwQAAAAAAhgBYwIAAAADAAAABAAAAEsAAABzGgAAAHwAAGoAAGQBAHwBAHASAHwCAIMCAAFkAgBTKAMAAABzGwAAAEFkZCBoaWVyYXJjaGljYWwgbWVudSBpdGVtLnQHAAAAY2FzY2FkZU4oAQAAAFKxAAAAKAMAAABSRgAAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAsAAABhZGRfY2FzY2FkZXMKAABzAgAAAAACYwIAAAADAAAABAAAAEsAAABzGgAAAHwAAGoAAGQBAHwBAHASAHwCAIMCAAFkAgBTKAMAAABzGgAAAEFkZCBjaGVja2J1dHRvbiBtZW51IGl0ZW0uUtECAABOKAEAAABSsQAAACgDAAAAUkYAAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQPAAAAYWRkX2NoZWNrYnV0dG9udgoAAHMCAAAAAAJjAgAAAAMAAAAEAAAASwAAAHMaAAAAfAAAagAAZAEAfAEAcBIAfAIAgwIAAWQCAFMoAwAAAHMWAAAAQWRkIGNvbW1hbmQgbWVudSBpdGVtLlK/AAAATigBAAAAUrEAAAAoAwAAAFJGAAAAUiQAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAGFkZF9jb21tYW5keQoAAHMCAAAAAAJjAgAAAAMAAAAEAAAASwAAAHMaAAAAfAAAagAAZAEAfAEAcBIAfAIAgwIAAWQCAFMoAwAAAHMVAAAAQWRkZCByYWRpbyBtZW51IGl0ZW0udAsAAAByYWRpb2J1dHRvbk4oAQAAAFKxAAAAKAMAAABSRgAAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA8AAABhZGRfcmFkaW9idXR0b258CgAAcwIAAAAAAmMCAAAAAwAAAAQAAABLAAAAcxoAAAB8AABqAABkAQB8AQBwEgB8AgCDAgABZAIAUygDAAAAcw4AAABBZGQgc2VwYXJhdG9yLnQJAAAAc2VwYXJhdG9yTigBAAAAUrEAAAAoAwAAAFJGAAAAUiQAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAGFkZF9zZXBhcmF0b3J/CgAAcwIAAAAAAmMEAAAABQAAAAUAAABLAAAAczMAAAB8AABqAABqAQB8AABqAgBkAQB8AQB8AgBmBAB8AABqAwB8AwB8BACDAgAXgwEAAWQCAFMoAwAAAHMSAAAASW50ZXJuYWwgZnVuY3Rpb24uUnYCAABOKAQAAABSPgAAAFJEAAAAUnsAAABSoAAAACgFAAAAUkYAAABSoQEAAFKcAgAAUiQAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSdgIAAIIKAABzBAAAAAACGwFjAwAAAAQAAAAFAAAASwAAAHMdAAAAfAAAagAAfAEAZAEAfAIAcBUAfAMAgwMAAWQCAFMoAwAAAHMkAAAAQWRkIGhpZXJhcmNoaWNhbCBtZW51IGl0ZW0gYXQgSU5ERVguUgEDAABOKAEAAABSdgIAACgEAAAAUkYAAABSoQEAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA4AAABpbnNlcnRfY2FzY2FkZYYKAABzAgAAAAACYwMAAAAEAAAABQAAAEsAAABzHQAAAHwAAGoAAHwBAGQBAHwCAHAVAHwDAIMDAAFkAgBTKAMAAABzIwAAAEFkZCBjaGVja2J1dHRvbiBtZW51IGl0ZW0gYXQgSU5ERVguUtECAABOKAEAAABSdgIAACgEAAAAUkYAAABSoQEAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBIAAABpbnNlcnRfY2hlY2tidXR0b26JCgAAcwIAAAAAAmMDAAAABAAAAAUAAABLAAAAcx0AAAB8AABqAAB8AQBkAQB8AgBwFQB8AwCDAwABZAIAUygDAAAAcx8AAABBZGQgY29tbWFuZCBtZW51IGl0ZW0gYXQgSU5ERVguUr8AAABOKAEAAABSdgIAACgEAAAAUkYAAABSoQEAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dA4AAABpbnNlcnRfY29tbWFuZIwKAABzAgAAAAACYwMAAAAEAAAABQAAAEsAAABzHQAAAHwAAGoAAHwBAGQBAHwCAHAVAHwDAIMDAAFkAgBTKAMAAABzHgAAAEFkZGQgcmFkaW8gbWVudSBpdGVtIGF0IElOREVYLlIFAwAATigBAAAAUnYCAAAoBAAAAFJGAAAAUqEBAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQSAAAAaW5zZXJ0X3JhZGlvYnV0dG9ujwoAAHMCAAAAAAJjAwAAAAQAAAAFAAAASwAAAHMdAAAAfAAAagAAfAEAZAEAfAIAcBUAfAMAgwMAAWQCAFMoAwAAAHMXAAAAQWRkIHNlcGFyYXRvciBhdCBJTkRFWC5SBwMAAE4oAQAAAFJ2AgAAKAQAAABSRgAAAFKhAQAAUiQAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0EAAAAGluc2VydF9zZXBhcmF0b3KSCgAAcwIAAAAAAmMDAAAABwAAAAYAAABDAAAAc98AAAB8AgBkBgBrCAByFQB8AQB9AgBuAAB8AABqAQB8AQCDAQB8AABqAQB8AgCDAQACfQMAfQQAfAMAZAYAawgAc0wAfAQAZAYAawgAclsAZAcAXAIAfQMAfQQAbgAAeGEA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L3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlScwIAALAKAABzAgAAAAADYwMAAAADAAAABQAAAEMAAABzIAAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAHwCAIMEAAFkAgBTKAMAAABzHwAAAERpc3BsYXkgYSBtZW51IGF0IHBvc2l0aW9uIFgsWS50BAAAAHBvc3ROKAMAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAUiwBAABSOQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSFQMAALQKAABzAgAAAAACYwIAAAACAAAABAAAAEMAAABzGQAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAIMDAFMoAgAAAHMqAAAAUmV0dXJuIHRoZSB0eXBlIG9mIHRoZSBtZW51IGl0ZW0gYXQgSU5ERVguUhUAAAAoAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSoQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSFQAAALcKAABzAgAAAAACYwEAAAABAAAAAwAAAEMAAABzGgAAAHwAAGoAAGoBAHwAAGoCAGQBAIMCAAFkAgBTKAMAAABzDQAAAFVubWFwIGEgbWVudS50BgAAAHVucG9zdE4oAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UhYDAAC6CgAAcwIAAAAAAmMCAAAAAgAAAAUAAABDAAAAcx8AAAB0AAB8AABqAQBqAgB8AABqAwBkAQB8AQCDAwCDAQBTKAIAAABzRQAAAFJldHVybiB0aGUgeS1wb3NpdGlvbiBvZiB0aGUgdG9wbW9zdCBwaXhlbCBvZiB0aGUgbWVudSBpdGVtIGF0IElOREVYLnQJAAAAeXBvc2l0aW9uKAQAAABSZAAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSoQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSFwMAAL0KAABzBAAAAAACDAFOKCgAAABSKwAAAFIsAAAAUi0AAABSGQAAAFJJAAAAUvQCAABS9QIAAFL2AgAAUvcCAABS+AIAAFL5AgAAUvoCAABS/AIAAFL9AgAAUv4CAABS/wIAAFIAAwAAUuUCAABSsQAAAFICAwAAUgMDAABSBAMAAFIGAwAAUggDAABSdgIAAFIJAwAAUgoDAABSCwMAAFIMAwAAUg0DAABStQEAAFIPAwAAUhQDAABSDgMAAFKhAQAAUnMCAABSFQMAAFIVAAAAUhYDAABSFwMAACgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLyAgAASQoAAHNKAAAABgEGAQ8ICQIJAgkCCQIJAgkCCQIJAgkCCQIJAgwDCQMMBAwDDAMMAwwDDAMMBAwDDAMMAwwDDAMMDwkDDAMGAQkFCQQJAwkDCQN0CgAAAE1lbnVidXR0b25jAAAAAAAAAAADAAAAQgAAAHMdAAAAZQAAWgEAZAAAWgIAZAIAaQAAZAEAhAIAWgQAUlMoAwAAAHMoAAAATWVudWJ1dHRvbiB3aWRnZXQsIG9ic29sZXRlIHNpbmNlIFRrOC4wLmMDAAAABAAAAAYAAABLAAAAcx0AAAB0AABqAQB8AAB8AQBkAQB8AgB8AwCDBQABZAAAUygCAAAATnQKAAAAbWVudWJ1dHRvbigCAAAAUmQCAABSSQAAACgEAAAAUkYAAABSRwAAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkkAAADECgAAcwIAAAAAAU4oBQAAAFIrAAAAUiwAAABSLQAAAFIZAAAAUkkAAAAoAAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSGAMAAMIKAABzBAAAAAYBBgF0BwAAAE1lc3NhZ2VjAAAAAAAAAAADAAAAQgAAAHMdAAAAZQAAWgEAZAAAWgIAZAIAaQAAZAEAhAIAWgQAUlMoAwAAAHNLAAAATWVzc2FnZSB3aWRnZXQgdG8gZGlzcGxheSBtdWx0aWxpbmUgdGV4dC4gT2Jzb2xldGUgc2luY2UgTGFiZWwgZG9lcyBpdCB0b28uYwMAAAAEAAAABgAAAEsAAABzHQAAAHQAAGoBAHwAAHwBAGQBAHwCAHwDAIMFAAFkAABTKAIAAABOdAcAAABtZXNzYWdlKAIAAABSZAIAAFJJAAAAKAQAAABSRgAAAFJHAAAAUiQAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSSQAAAMkKAABzAgAAAAABTigFAAAAUisAAABSLAAAAFItAAAAUhkAAABSSQAAACgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVIaAwAAxwoAAHMEAAAABgEGAXQLAAAAUmFkaW9idXR0b25jAAAAAAAAAAADAAAAQgAAAHNBAAAAZQAAWgEAZAAAWgIAZAYAaQAAZAEAhAIAWgQAZAIAhAAAWgUAZAMAhAAAWgYAZAQAhAAAWgcAZAUAhAAAWggAUlMoBwAAAHNHAAAAUmFkaW9idXR0b24gd2lkZ2V0IHdoaWNoIHNob3dzIG9ubHkgb25lIG9mIHNldmVyYWwgYnV0dG9ucyBpbiBvbi1zdGF0ZS5jAwAAAAQAAAAGAAAASwAAAHMdAAAAdAAAagEAfAAAfAEAZAEAfAIAfAMAgwUAAWQCAFMoAwAAAHP2AQAAQ29uc3RydWN0IGEgcmFkaW9idXR0b24gd2lkZ2V0IHdpdGggdGhlIHBhcmVudCBNQVNURVIuCgogICAgICAgIFZhbGlkIHJlc291cmNlIG5hbWVzOiBhY3RpdmViYWNrZ3JvdW5kLCBhY3RpdmVmb3JlZ3JvdW5kLCBhbmNob3IsCiAgICAgICAgYmFja2dyb3VuZCwgYmQsIGJnLCBiaXRtYXAsIGJvcmRlcndpZHRoLCBjb21tYW5kLCBjdXJzb3IsCiAgICAgICAgZGlzYWJsZWRmb3JlZ3JvdW5kLCBmZywgZm9udCwgZm9yZWdyb3VuZCwgaGVpZ2h0LAogICAgICAgIGhpZ2hsaWdodGJhY2tncm91bmQsIGhpZ2hsaWdodGNvbG9yLCBoaWdobGlnaHR0aGlja25lc3MsIGltYWdlLAogICAgICAgIGluZGljYXRvcm9uLCBqdXN0aWZ5LCBwYWR4LCBwYWR5LCByZWxpZWYsIHNlbGVjdGNvbG9yLCBzZWxlY3RpbWFnZSwKICAgICAgICBzdGF0ZSwgdGFrZWZvY3VzLCB0ZXh0LCB0ZXh0dmFyaWFibGUsIHVuZGVybGluZSwgdmFsdWUsIHZhcmlhYmxlLAogICAgICAgIHdpZHRoLCB3cmFwbGVuZ3RoLlIFAwAATigCAAAAUmQCAABSSQAAACgEAAAAUkYAAABSRwAAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkkAAADOCgAAcwIAAAAACmMBAAAAAQAAAAMAAABDAAAAcxoAAAB8AABqAABqAQB8AABqAgBkAQCDAgABZAIAUygDAAAAcxwAAABQdXQgdGhlIGJ1dHRvbiBpbiBvZmYtc3RhdGUuUtICAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLSAgAA2QoAAHMCAAAAAANjAQAAAAEAAAADAAAAQwAAAHMaAAAAfAAAagAAagEAfAAAagIAZAEAgwIAAWQCAFMoAwAAAHMRAAAARmxhc2ggdGhlIGJ1dHRvbi5ScgIAAE4oAwAAAFI+AAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UnICAADdCgAAcwIAAAAAAmMBAAAAAQAAAAMAAABDAAAAcxYAAAB8AABqAABqAQB8AABqAgBkAQCDAgBTKAIAAABzPAAAAFRvZ2dsZSB0aGUgYnV0dG9uIGFuZCBpbnZva2UgYSBjb21tYW5kIGlmIGdpdmVuIGFzIHJlc291cmNlLlJzAgAAKAMAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJzAgAA4AoAAHMCAAAAAAJjAQAAAAEAAAADAAAAQwAAAHMaAAAAfAAAagAAagEAfAAAagIAZAEAgwIAAWQCAFMoAwAAAHMbAAAAUHV0IHRoZSBidXR0b24gaW4gb24tc3RhdGUuUsYCAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAQAAAFJGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLGAgAA4woAAHMCAAAAAAJOKAkAAABSKwAAAFIsAAAAUi0AAABSGQAAAFJJAAAAUtICAABScgIAAFJzAgAAUsYCAAAoAAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSHAMAAMwKAABzDAAAAAYBBgEPCwkECQMJA3QFAAAAU2NhbGVjAAAAAAAAAAADAAAAQgAAAHNEAAAAZQAAWgEAZAAAWgIAZAYAaQAAZAEAhAIAWgQAZAIAhAAAWgUAZAMAhAAAWgYAZAYAZAQAhAEAWgcAZAUAhAAAWggAUlMoBwAAAHMxAAAAU2NhbGUgd2lkZ2V0IHdoaWNoIGNhbiBkaXNwbGF5IGEgbnVtZXJpY2FsIHNjYWxlLmMDAAAABAAAAAYAAABLAAAAcx0AAAB0AABqAQB8AAB8AQBkAQB8AgB8AwCDBQABZAIAUygDAAAAc9cBAABDb25zdHJ1Y3QgYSBzY2FsZSB3aWRnZXQgd2l0aCB0aGUgcGFyZW50IE1BU1RFUi4KCiAgICAgICAgVmFsaWQgcmVzb3VyY2UgbmFtZXM6IGFjdGl2ZWJhY2tncm91bmQsIGJhY2tncm91bmQsIGJpZ2luY3JlbWVudCwgYmQsCiAgICAgICAgYmcsIGJvcmRlcndpZHRoLCBjb21tYW5kLCBjdXJzb3IsIGRpZ2l0cywgZmcsIGZvbnQsIGZvcmVncm91bmQsIGZyb20sCiAgICAgICAgaGlnaGxpZ2h0YmFja2dyb3VuZCwgaGlnaGxpZ2h0Y29sb3IsIGhpZ2hsaWdodHRoaWNrbmVzcywgbGFiZWwsCiAgICAgICAgbGVuZ3RoLCBvcmllbnQsIHJlbGllZiwgcmVwZWF0ZGVsYXksIHJlcGVhdGludGVydmFsLCByZXNvbHV0aW9uLAogICAgICAgIHNob3d2YWx1ZSwgc2xpZGVybGVuZ3RoLCBzbGlkZXJyZWxpZWYsIHN0YXRlLCB0YWtlZm9jdXMsCiAgICAgICAgdGlja2ludGVydmFsLCB0bywgdHJvdWdoY29sb3IsIHZhcmlhYmxlLCB3aWR0aC5SvwIAAE4oAgAAAFJkAgAAUkkAAAAoBAAAAFJGAAAAUkcAAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJJAAAA6QoAAHMCAAAAAAljAQAAAAIAAAAFAAAAQwAAAHNFAAAAfAAAagAAagEAfAAAagIAZAEAgwIAfQEAeQ4AdAMAfAEAgwEAU1duGAAEdAQAawoAckAAAQEBdAUAfAEAgwEAU1hkAgBTKAMAAABzKgAAAEdldCB0aGUgY3VycmVudCB2YWx1ZSBhcyBpbnRlZ2VyIG9yIGZsb2F0LlJPAAAATigGAAAAUj4AAABSRAAAAFJ7AAAAUmQAAABSNAAAAFJmAAAAKAIAAABSRgAAAFIGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJPAAAA8woAAHMKAAAAAAIYAQMBDgENAWMCAAAAAgAAAAQAAABDAAAAcx0AAAB8AABqAABqAQB8AABqAgBkAQB8AQCDAwABZAIAUygDAAAAcxcAAABTZXQgdGhlIHZhbHVlIHRvIFZBTFVFLlJDAAAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFIGAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJDAAAA+goAAHMCAAAAAAJjAgAAAAIAAAAFAAAAQwAAAHMiAAAAfAAAagAAfAAAagEAagIAfAAAagMAZAEAfAEAgwMAgwEAUygCAAAAc5UAAABSZXR1cm4gYSB0dXBsZSAoWCxZKSBvZiB0aGUgcG9pbnQgYWxvbmcgdGhlIGNlbnRlcmxpbmUgb2YgdGhlCiAgICAgICAgdHJvdWdoIHRoYXQgY29ycmVzcG9uZHMgdG8gVkFMVUUgb3IgdGhlIGN1cnJlbnQgdmFsdWUgaWYgTm9uZSBpcwogICAgICAgIGdpdmVuLlKbAgAAKAQAAABS/AAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSBgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSmwIAAP0KAABzAgAAAAAFYwMAAAADAAAABQAAAEMAAABzHAAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAHwCAIMEAFMoAgAAAHNjAAAAUmV0dXJuIHdoZXJlIHRoZSBwb2ludCBYLFkgbGllcy4gVmFsaWQgcmV0dXJuIHZhbHVlcyBhcmUgInNsaWRlciIsCiAgICAgICAgInRob3VnaDEiIGFuZCAidGhvdWdoMiIudAgAAABpZGVudGlmeSgDAAAAUj4AAABSRAAAAFJ7AAAAKAMAAABSRgAAAFIsAQAAUjkBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Uh4DAAADCwAAcwIAAAAAA04oCQAAAFIrAAAAUiwAAABSLQAAAFIZAAAAUkkAAABSTwAAAFJDAAAAUpsCAABSHgMAACgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVIdAwAA5woAAHMMAAAABgEGAQ8KCQcJAwwGdAkAAABTY3JvbGxiYXJjAAAAAAAAAAADAAAAQgAAAHNTAAAAZQAAWgEAZAAAWgIAZAgAaQAAZAEAhAIAWgQAZAIAhAAAWgUAZAMAhAAAWgYAZAQAhAAAWgcAZAUAhAAAWggAZAYAhAAAWgkAZAcAhAAAWgoAUlMoCQAAAHM/AAAAU2Nyb2xsYmFyIHdpZGdldCB3aGljaCBkaXNwbGF5cyBhIHNsaWRlciBhdCBhIGNlcnRhaW4gcG9zaXRpb24uYwMAAAAEAAAABgAAAEsAAABzHQAAAHQAAGoBAHwAAHwBAGQBAHwCAHwDAIMFAAFkAgBTKAMAAABzbAEAAENvbnN0cnVjdCBhIHNjcm9sbGJhciB3aWRnZXQgd2l0aCB0aGUgcGFyZW50IE1BU1RFUi4KCiAgICAgICAgVmFsaWQgcmVzb3VyY2UgbmFtZXM6IGFjdGl2ZWJhY2tncm91bmQsIGFjdGl2ZXJlbGllZiwKICAgICAgICBiYWNrZ3JvdW5kLCBiZCwgYmcsIGJvcmRlcndpZHRoLCBjb21tYW5kLCBjdXJzb3IsCiAgICAgICAgZWxlbWVudGJvcmRlcndpZHRoLCBoaWdobGlnaHRiYWNrZ3JvdW5kLAogICAgICAgIGhpZ2hsaWdodGNvbG9yLCBoaWdobGlnaHR0aGlja25lc3MsIGp1bXAsIG9yaWVudCwKICAgICAgICByZWxpZWYsIHJlcGVhdGRlbGF5LCByZXBlYXRpbnRlcnZhbCwgdGFrZWZvY3VzLAogICAgICAgIHRyb3VnaGNvbG9yLCB3aWR0aC50CQAAAHNjcm9sbGJhck4oAgAAAFJkAgAAUkkAAAAoBAAAAFJGAAAAUkcAAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJJAAAACgsAAHMCAAAAAAljAgAAAAIAAAAEAAAAQwAAAHMdAAAAfAAAagAAagEAfAAAagIAZAEAfAEAgwMAAWQCAFMoAwAAAHN4AAAARGlzcGxheSB0aGUgZWxlbWVudCBhdCBJTkRFWCB3aXRoIGFjdGl2ZWJhY2tncm91bmQgYW5kIGFjdGl2ZXJlbGllZi4KICAgICAgICBJTkRFWCBjYW4gYmUgImFycm93MSIsInNsaWRlciIgb3IgImFycm93MiIuUuUCAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUqEBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UuUCAAAUCwAAcwIAAAAAA2MDAAAAAwAAAAYAAABDAAAAcyIAAAB0AAB8AABqAQBqAgB8AABqAwBkAQB8AQB8AgCDBACDAQBTKAIAAABzbgAAAFJldHVybiB0aGUgZnJhY3Rpb25hbCBjaGFuZ2Ugb2YgdGhlIHNjcm9sbGJhciBzZXR0aW5nIGlmIGl0CiAgICAgICAgd291bGQgYmUgbW92ZWQgYnkgREVMVEFYIG9yIERFTFRBWSBwaXhlbHMuUnABAAAoBAAAAFJmAAAAUj4AAABSRAAAAFJ7AAAAKAMAAABSRgAAAHQGAAAAZGVsdGF4dAYAAABkZWx0YXkoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UnABAAAYCwAAcwQAAAAAAwMBYwMAAAADAAAABgAAAEMAAABzIgAAAHQAAHwAAGoBAGoCAHwAAGoDAGQBAHwBAHwCAIMEAIMBAFMoAgAAAHNSAAAAUmV0dXJuIHRoZSBmcmFjdGlvbmFsIHZhbHVlIHdoaWNoIGNvcnJlc3BvbmRzIHRvIGEgc2xpZGVyCiAgICAgICAgcG9zaXRpb24gb2YgWCxZLlLJAQAAKAQAAABSZgAAAFI+AAAAUkQAAABSewAAACgDAAAAUkYAAABSLAEAAFI5AQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLJAQAAHQsAAHMCAAAAAANjAwAAAAMAAAAFAAAAQwAAAHMcAAAAfAAAagAAagEAfAAAagIAZAEAfAEAfAIAgwQAUygCAAAAc1kAAABSZXR1cm4gdGhlIGVsZW1lbnQgdW5kZXIgcG9zaXRpb24gWCxZIGFzIG9uZSBvZgogICAgICAgICJhcnJvdzEiLCJzbGlkZXIiLCJhcnJvdzIiIG9yICIiLlIeAwAAKAMAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAUiwBAABSOQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSHgMAACELAABzAgAAAAADYwEAAAABAAAABAAAAEMAAABzHwAAAHwAAGoAAHwAAGoBAGoCAHwAAGoDAGQBAIMCAIMBAFMoAgAAAHNaAAAAUmV0dXJuIHRoZSBjdXJyZW50IGZyYWN0aW9uYWwgdmFsdWVzICh1cHBlciBhbmQgbG93ZXIgZW5kKQogICAgICAgIG9mIHRoZSBzbGlkZXIgcG9zaXRpb24uUk8AAAAoBAAAAFJPAQAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSTwAAACULAABzAgAAAAADYwEAAAACAAAAAwAAAEcAAABzIQAAAHwAAGoAAGoBAHwAAGoCAGQBAGYCAHwBABeDAQABZAIAUygDAAAAc2kAAABTZXQgdGhlIGZyYWN0aW9uYWwgdmFsdWVzIG9mIHRoZSBzbGlkZXIgcG9zaXRpb24gKHVwcGVyIGFuZAogICAgICAgIGxvd2VyIGVuZHMgYXMgdmFsdWUgYmV0d2VlbiAwIGFuZCAxKS5SQwAAAE4oAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSdQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSQwAAACkLAABzAgAAAAADTigLAAAAUisAAABSLAAAAFItAAAAUhkAAABSSQAAAFLlAgAAUnABAABSyQEAAFIeAwAAUk8AAABSQwAAACgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVIfAwAACAsAAHMQAAAABgEGAQ8KCQQJBQkECQQJBHQEAAAAVGV4dGMAAAAAAAAAAAkAAABCAAAAc0gCAABlAABaAQBkAABaAgBkNQBpAABkAQCEAgBaBABkAgCEAABaBQBkAwCEAABaBgBkBACEAABaBwBkBQCEAABaCABkBgCEAABaCQBkBwCEAABaCgBkNQBkCACEAQBaCwBkNQBkCQCEAQBaDABkCgCEAABaDQBkNQBkNQBkCwCEAgBaDgBkDACEAABaDwBkNQBkDQCEAQBaEABkDgCEAABaEQBkDwCEAABaEgBkEACEAABaEwBkEQCEAABaFABkNQBkEgCEAQBaFQBkEwCEAABaFgBkNQBkFACEAQBaFwBpAABkFQCEAQBaGABkFgCEAABaGQBkFwCEAABaGgBkGACEAABaGwBkNQBkGQCEAQBaHABkGgCEAABaHQBkGwCEAABaHgBkHACEAABaHwBkHQCEAABaIABkHgCEAABaIQBkHwCEAABaIgBkIACEAABaIwBkNQBkNQBkNQBkNQBkNQBkNQBkNQBkNQBkIQCECABaJABkIgCEAABaJQBkIwCEAABaJgBkNQBkJACEAQBaJwBkNQBkJQCEAQBaKABkJgCEAABaKQBkNQBkJwCEAQBaKgBlKgBaKwBkKACEAABaLABkNQBkKQCEAQBaLQBkNQBkKgCEAQBaLgBkNQBkKwCEAQBaLwBkNQBkLACEAQBaMABkNQBkLQCEAQBaMQBkLgCEAABaMgBkNQBkLwCEAQBaMwBkMACEAABaNABkNQBkMQCEAQBaNQBlNQBaNgBpAABkMgCEAQBaNwBkMwCEAABaOABkNACEAABaOQBSUyg2AAAAczQAAABUZXh0IHdpZGdldCB3aGljaCBjYW4gZGlzcGxheSB0ZXh0IGluIHZhcmlvdXMgZm9ybXMuYwMAAAAEAAAABgAAAEsAAABzHQAAAHQAAGoBAHwAAHwBAGQBAHwCAHwDAIMFAAFkAgBTKAMAAABzvAIAAENvbnN0cnVjdCBhIHRleHQgd2lkZ2V0IHdpdGggdGhlIHBhcmVudCBNQVNURVIuCgogICAgICAgIFNUQU5EQVJEIE9QVElPTlMKCiAgICAgICAgICAgIGJhY2tncm91bmQsIGJvcmRlcndpZHRoLCBjdXJzb3IsCiAgICAgICAgICAgIGV4cG9ydHNlbGVjdGlvbiwgZm9udCwgZm9yZWdyb3VuZCwKICAgICAgICAgICAgaGlnaGxpZ2h0YmFja2dyb3VuZCwgaGlnaGxpZ2h0Y29sb3IsCiAgICAgICAgICAgIGhpZ2hsaWdodHRoaWNrbmVzcywgaW5zZXJ0YmFja2dyb3VuZCwKICAgICAgICAgICAgaW5zZXJ0Ym9yZGVyd2lkdGgsIGluc2VydG9mZnRpbWUsCiAgICAgICAgICAgIGluc2VydG9udGltZSwgaW5zZXJ0d2lkdGgsIHBhZHgsIHBhZHksCiAgICAgICAgICAgIHJlbGllZiwgc2VsZWN0YmFja2dyb3VuZCwKICAgICAgICAgICAgc2VsZWN0Ym9yZGVyd2lkdGgsIHNlbGVjdGZvcmVncm91bmQsCiAgICAgICAgICAgIHNldGdyaWQsIHRha2Vmb2N1cywKICAgICAgICAgICAgeHNjcm9sbGNvbW1hbmQsIHlzY3JvbGxjb21tYW5kLAoKICAgICAgICBXSURHRVQtU1BFQ0lGSUMgT1BUSU9OUwoKICAgICAgICAgICAgYXV0b3NlcGFyYXRvcnMsIGhlaWdodCwgbWF4dW5kbywKICAgICAgICAgICAgc3BhY2luZzEsIHNwYWNpbmcyLCBzcGFjaW5nMywKICAgICAgICAgICAgc3RhdGUsIHRhYnMsIHVuZG8sIHdpZHRoLCB3cmFwLAoKICAgICAgICBSqgIAAE4oAgAAAFJkAgAAUkkAAAAoBAAAAFJGAAAAUkcAAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJJAAAAMgsAAHMCAAAAABdjAQAAAAIAAAAEAAAARwAAAHMsAAAAfAAAagAAfAAAagEAagIAfAAAagMAZAEAZgIAfAEAF4MBAIMBAHArAGQCAFMoAwAAAHOEAAAAUmV0dXJuIGEgdHVwbGUgb2YgKHgseSx3aWR0aCxoZWlnaHQpIHdoaWNoIGdpdmVzIHRoZSBib3VuZGluZwogICAgICAgIGJveCBvZiB0aGUgdmlzaWJsZSBwYXJ0IG9mIHRoZSBjaGFyYWN0ZXIgYXQgdGhlIGluZGV4IGluIEFSR1MuUpoBAABOKAUAAABS/AAAAFI+AAAAUkQAAABSewAAAFIZAAAAKAIAAABSRgAAAFJ1AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKaAQAASgsAAHMEAAAAAAMGAWMCAAAAAgAAAAQAAABDAAAAcx0AAAB8AABqAABqAQBkAQB8AABqAgB8AQCDAwABZAAAUygCAAAATnQPAAAAdGtfdGV4dFNlbGVjdFRvKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUqEBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UiQDAABPCwAAcwIAAAAAAWMBAAAAAQAAAAMAAABDAAAAcxoAAAB8AABqAABqAQBkAQB8AABqAgCDAgABZAAAUygCAAAATnQQAAAAdGtfdGV4dEJhY2tzcGFjZSgDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSJQMAAFELAABzAgAAAAABYwQAAAAEAAAABgAAAEMAAABzIwAAAHwAAGoAAGoBAGQBAHwAAGoCAHwBAHwCAHwDAIMFAAFkAABTKAIAAABOdBIAAAB0a190ZXh0SW5kZXhDbG9zZXIoAwAAAFI+AAAAUkQAAABSewAAACgEAAAAUkYAAABSdwIAAFJyAQAAUiUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UiYDAABTCwAAcwIAAAAAAWMCAAAAAgAAAAQAAABDAAAAcx0AAAB8AABqAABqAQBkAQB8AABqAgB8AQCDAwABZAAAUygCAAAATnQSAAAAdGtfdGV4dFJlc2V0QW5jaG9yKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUqEBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UicDAABVCwAAcwIAAAAAAWMEAAAABAAAAAcAAABDAAAAcysAAAB8AABqAABqAQB8AABqAABqAgB8AABqAwBkAQB8AQB8AgB8AwCDBQCDAQBTKAIAAABzgAAAAFJldHVybiB3aGV0aGVyIGJldHdlZW4gaW5kZXggSU5ERVgxIGFuZCBpbmRleCBJTkRFWDIgdGhlCiAgICAgICAgcmVsYXRpb24gT1AgaXMgc2F0aXNmaWVkLiBPUCBpcyBvbmUgb2YgPCwgPD0sID09LCA+PSwgPiwgb3IgIT0udAcAAABjb21wYXJlKAQAAABSPgAAAFJoAAAAUkQAAABSewAAACgEAAAAUkYAAABSEAMAAHQCAAAAb3BSEQMAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIu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AEcAAABzGQAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAIwCAFMoAgAAAHNyAQAASW50ZXJuYWwgbWV0aG9kCgogICAgICAgIFRoaXMgbWV0aG9kIGNvbnRyb2xzIHRoZSB1bmRvIG1lY2hhbmlzbSBhbmQKICAgICAgICB0aGUgbW9kaWZpZWQgZmxhZy4gVGhlIGV4YWN0IGJlaGF2aW9yIG9mIHRoZQogICAgICAgIGNvbW1hbmQgZGVwZW5kcyBvbiB0aGUgb3B0aW9uIGFyZ3VtZW50IHRoYXQKICAgICAgICBmb2xsb3dzIHRoZSBlZGl0IGFyZ3VtZW50LiBUaGUgZm9sbG93aW5nIGZvcm1zCiAgICAgICAgb2YgdGhlIGNvbW1hbmQgYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQ6CgogICAgICAgIGVkaXRfbW9kaWZpZWQsIGVkaXRfcmVkbywgZWRpdF9yZXNldCwgZWRpdF9zZXBhcmF0b3IKICAgICAgICBhbmQgZWRpdF91bmRvCgogICAgICAgIHQEAAAAZWRpdCgDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFJ1AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVIvAwAAkQsAAHMCAAAAAA1jAgAAAAIAAAADAAAAQwAAAHMQAAAAfAAAagAAZAEAfAEAgwIAUygCAAAAczsBAABHZXQgb3IgU2V0IHRoZSBtb2RpZmllZCBmbGFnCgogICAgICAgIElmIGFyZyBpcyBub3Qgc3BlY2lmaWVkLCByZXR1cm5zIHRoZSBtb2RpZmllZAogICAgICAgIGZsYWcgb2YgdGhlIHdpZGdldC4gVGhlIGluc2VydCwgZGVsZXRlLCBlZGl0IHVuZG8gYW5kCiAgICAgICAgZWRpdCByZWRvIGNvbW1hbmRzIG9yIHRoZSB1c2VyIGNhbiBzZXQgb3IgY2xlYXIgdGhlCiAgICAgICAgbW9kaWZpZWQgZmxhZy4gSWYgYm9vbGVhbiBpcyBzcGVjaWZpZWQsIHNldHMgdGhlCiAgICAgICAgbW9kaWZpZWQgZmxhZyBvZiB0aGUgd2lkZ2V0IHRvIGFyZy4KICAgICAgICB0CAAAAG1vZGlmaWVkKAEAAABSLwMAACgCAAAAUkYAAAB0AwAAAGFyZygAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAGVkaXRfbW9kaWZpZWSgCwAAcwIAAAAACWMBAAAAAQAAAAIAAABDAAAAcw0AAAB8AABqAABkAQCDAQBTKAIAAABzDAEAAFJlZG8gdGhlIGxhc3QgdW5kb25lIGVkaXQKCiAgICAgICAgV2hlbiB0aGUgdW5kbyBvcHRpb24gaXMgdHJ1ZSwgcmVhcHBsaWVzIHRoZSBsYXN0CiAgICAgICAgdW5kb25lIGVkaXRzIHByb3ZpZGVkIG5vIG90aGVyIGVkaXRzIHdlcmUgZG9uZSBzaW5jZQogICAgICAgIHRoZW4uIEdlbmVyYXRlcyBhbiBlcnJvciB3aGVuIHRoZSByZWRvIHN0YWNrIGlzIGVtcHR5LgogICAgICAgIERvZXMgbm90aGluZyB3aGVuIHRoZSB1bmRvIG9wdGlvbiBpcyBmYWxzZS4KICAgICAgICB0BAAAAHJlZG8oAQAAAFIvAwAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CQAAAGVkaXRfcmVkb6sLAABzAgAAAAAIYwEAAAABAAAAAgAAAEMAAABzDQAAAHwAAGoAAGQBAIMBAFMoAgAAAHMoAAAAQ2xlYXJzIHRoZSB1bmRvIGFuZCByZWRvIHN0YWNrcwogICAgICAgIHQFAAAAcmVzZXQoAQAAAFIvAwAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CgAAAGVkaXRfcmVzZXS1CwAAcwIAAAAAA2MBAAAAAQAAAAIAAABDAAAAcw0AAAB8AABqAABkAQCDAQBTKAIAAABzbgAAAEluc2VydHMgYSBzZXBhcmF0b3IgKGJvdW5kYXJ5KSBvbiB0aGUgdW5kbyBzdGFjay4KCiAgICAgICAgRG9lcyBub3RoaW5nIHdoZW4gdGhlIHVuZG8gb3B0aW9uIGlzIGZhbHNlCiAgICAgICAgUgcDAAAoAQAAAFIvAwAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DgAAAGVkaXRfc2VwYXJhdG9yugsAAHMCAAAAAAVjAQAAAAEAAAACAAAAQwAAAHMNAAAAfAAAagAAZAEAgwEAUygCAAAAc0QBAABVbmRvZXMgdGhlIGxhc3QgZWRpdCBhY3Rpb24KCiAgICAgICAgSWYgdGhlIHVuZG8gb3B0aW9uIGlzIHRydWUuIEFuIGVkaXQgYWN0aW9uIGlzIGRlZmluZWQKICAgICAgICBhcyBhbGwgdGhlIGluc2VydCBhbmQgZGVsZXRlIGNvbW1hbmRzIHRoYXQgYXJlIHJlY29yZGVkCiAgICAgICAgb24gdGhlIHVuZG8gc3RhY2sgaW4gYmV0d2VlbiB0d28gc2VwYXJhdG9ycy4gR2VuZXJhdGVzCiAgICAgICAgYW4gZXJyb3Igd2hlbiB0aGUgdW5kbyBzdGFjayBpcyBlbXB0eS4gRG9lcyBub3RoaW5nCiAgICAgICAgd2hlbiB0aGUgdW5kbyBvcHRpb24gaXMgZmFsc2UKICAgICAgICB0BAAAAHVuZG8oAQAAAFIvAwAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CQAAAGVkaXRfdW5kb8ELAABzAgAAAAAJYwMAAAADAAAABQAAAEMAAABzHAAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAHwCAIMEAFMoAgAAAHM1AAAAUmV0dXJuIHRoZSB0ZXh0IGZyb20gSU5ERVgxIHRvIElOREVYMiAobm90IGluY2x1ZGVkKS5STwAAACgDAAAAUj4AAABSRAAAAFJ7AAAAKAMAAABSRgAAAFIQAwAAUhEDAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Uk8AAADMCwAAcwIAAAAAAmMDAAAAAwAAAAYAAABDAAAAc1kAAAB8AgBkAQAgZAIAawMAch0AZAIAfAIAF30CAG4AAHwCAGQDAB9kBABrAgByOgB8AgBkAwAgfQIAbgAAfAAAagAAagEAfAAAagIAZAUAZAYAfAEAfAIAgwUAUygHAAAAczkAAABSZXR1cm4gdGhlIHZhbHVlIG9mIE9QVElPTiBvZiBhbiBlbWJlZGRlZCBpbWFnZSBhdCBJTkRFWC5pAQAAAFJXAQAAaf////9SVQEAAFK6AQAAUooBAAAoAwAAAFI+AAAAUkQAAABSewAAACgDAAAAUkYAAABSoQEAAFKwAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQKAAAAaW1hZ2VfY2dldNALAABzCgAAAAACEAENARABDQFjAwAAAAQAAAAEAAAASwAAAHMcAAAAfAAAagAAZAEAZAIAfAEAZgMAfAIAfAMAgwMAUygDAAAAcyUAAABDb25maWd1cmUgYW4gZW1iZWRkZWQgaW1hZ2UgYXQgSU5ERVguUroBAABSiQEAACgBAAAAUogBAAAoBAAAAFJGAAAAUqEBAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQPAAAAaW1hZ2VfY29uZmlndXJl1wsAAHMCAAAAAAJjAwAAAAQAAAAIAAAASwAAAHMrAAAAfAAAagAAagEAfAAAagIAZAEAZAIAfAEAfAAAagMAfAIAfAMAgwIAjAQAUygDAAAAcyIAAABDcmVhdGUgYW4gZW1iZWRkZWQgaW1hZ2UgYXQgSU5ERVguUroBAABSIAIAACgEAAAAUj4AAABSRAAAAFJ7AAAAUqAAAAAoBAAAAFJGAAAAUqEBAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQMAAAAaW1hZ2VfY3JlYXRl2gsAAHMGAAAAAAIJAQ8BYwEAAAABAAAABAAAAEMAAABzGQAAAHwAAGoAAGoBAHwAAGoCAGQBAGQCAIMDAFMoAwAAAHMzAAAAUmV0dXJuIGFsbCBuYW1lcyBvZiBlbWJlZGRlZCBpbWFnZXMgaW4gdGhpcyB3aWRnZXQuUroBAABSuwEAACgDAAAAUj4AAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSvAEAAN8LAABzAgAAAAACYwIAAAACAAAABQAAAEMAAABzHwAAAHQAAHwAAGoBAGoCAHwAAGoDAGQBAHwBAIMDAIMBAFMoAgAAAHMxAAAAUmV0dXJuIHRoZSBpbmRleCBpbiB0aGUgZm9ybSBsaW5lLmNoYXIgZm9yIElOREVYLlKhAQAAKAQAAABSEAAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSoQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSoQEAAOILAABzAgAAAAACYwMAAAAEAAAABQAAAEcAAABzJwAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAHwCAGYEAHwDABeDAQABZAIAUygDAAAAc4oAAABJbnNlcnQgQ0hBUlMgYmVmb3JlIHRoZSBjaGFyYWN0ZXJzIGF0IElOREVYLiBBbiBhZGRpdGlvbmFsCiAgICAgICAgdGFnIGNhbiBiZSBnaXZlbiBpbiBBUkdTLiBBZGRpdGlvbmFsIENIQVJTIGFuZCB0YWdzIGNhbiBmb2xsb3cgaW4gQVJHUy5SdgIAAE4oAwAAAFI+AAAAUkQAAABSewAAACgEAAAAUkYAAABSoQEAAHQFAAAAY2hhcnNSdQAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSdgIAAOULAABzAgAAAAADYwMAAAADAAAABgAAAEMAAABzIgAAAHwAAGoAAGoBAHwAAGoCAGQBAGQCAHwBAHwCAGYFAIMBAFMoAwAAAHOEAAAAQ2hhbmdlIHRoZSBncmF2aXR5IG9mIGEgbWFyayBNQVJLTkFNRSB0byBESVJFQ1RJT04gKExFRlQgb3IgUklHSFQpLgogICAgICAgIFJldHVybiB0aGUgY3VycmVudCB2YWx1ZSBpZiBOb25lIGlzIGdpdmVuIGZvciBESVJFQ1RJT04uUsECAAB0BwAAAGdyYXZpdHkoAwAAAFI+AAAAUkQAAABSewAAACgDAAAAUkYAAAB0CAAAAG1hcmtOYW1ldAkAAABkaXJlY3Rpb24oAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAwAAABtYXJrX2dyYXZpdHnpCwAAcwQAAAAAAwkBYwEAAAABAAAABQAAAEMAAABzJQAAAHwAAGoAAGoBAHwAAGoAAGoCAHwAAGoDAGQBAGQCAIMDAIMBAFMoAwAAAHMWAAAAUmV0dXJuIGFsbCBtYXJrIG5hbWVzLlLBAgAAUrsBAAAoBAAAAFI+AAAAUlwAAABSRAAAAFJ7AAAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CgAAAG1hcmtfbmFtZXPuCwAAcwQAAAAAAhIBYwMAAAADAAAABgAAAEMAAABzIwAAAHwAAGoAAGoBAHwAAGoCAGQBAGQCAHwBAHwCAIMFAAFkAwBTKAQAAABzMAAAAFNldCBtYXJrIE1BUktOQU1FIGJlZm9yZSB0aGUgY2hhcmFjdGVyIGF0IElOREVYLlLBAgAAUkMAAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAUj8DAABSoQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50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IG9mIE9QVElPTiBmb3IgdGFnIFRBR05BTUUuaQEAAABSVwEAAGn/////UlUBAABSUgMAAFKKAQAAKAMAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAUlMDAABSsAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CAAAAHRhZ19jZ2V0LwwAAHMKAAAAAAIQAQ0BEAENAWMDAAAABAAAAAQAAABLAAAAcxwAAAB8AABqAABkAQBkAgB8AQBmAwB8AgB8AwCDAwBTKAMAAABzGAAAAENvbmZpZ3VyZSBhIHRhZyBUQUdOQU1FLlJSAwAAUokBAAAoAQAAAFKIAQAAKAQAAABSRgAAAFJTAwAAUiQAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAHRhZ19jb25maWd1cmU2DAAAcwIAAAAAAmMBAAAAAgAAAAQAAABHAAAAcyQAAAB8AABqAABqAQB8AABqAgBkAQBkAgBmAwB8AQAXgwEAAWQDAFMoBAAAAHMcAAAARGVsZXRlIGFsbCB0YWdzIGluIFRBR05BTUVTLlJSAwAAUrUBAABOKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAdAgAAAB0YWdOYW1lcygAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CgAAAHRhZ19kZWxldGU6DAAAcwIAAAAAAmMDAAAAAwAAAAYAAABDAAAAcyMAAAB8AABqAABqAQB8AABqAgBkAQBkAgB8AQB8AgCDBQABZAMAUygEAAAAc2AAAABDaGFuZ2UgdGhlIHByaW9yaXR5IG9mIHRhZyBUQUdOQU1FIHN1Y2ggdGhhdCBpdCBpcyBsb3dlcgogICAgICAgIHRoYW4gdGhlIHByaW9yaXR5IG9mIEJFTE9XVEhJUy5SUgMAAFLHAAAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAMAAABSRgAAAFJTAwAAUsgAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UrsCAAA9DAAAcwIAAAAAA2MCAAAAAgAAAAYAAABDAAAAcygAAAB8AABqAABqAQB8AABqAABqAgB8AABqAwBkAQBkAgB8AQCDBACDAQBTKAMAAABzHwAAAFJldHVybiBhIGxpc3Qgb2YgYWxsIHRhZyBuYW1lcy5SUgMAAFK7AQAAKAQAAABSPgAAAFJcAAAAUkQAAABSewAAACgCAAAAUkYAAABSoQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CQAAAHRhZ19uYW1lc0EMAABzBAAAAAACCQFjBAAAAAQAAAAIAAAAQwAAAHMuAAAAfAAAagAAagEAfAAAagAAagIAfAAAagMAZAEAZAIAfAEAfAIAfAMAgwYAgwEAUygDAAAAc7kAAABSZXR1cm4gYSBsaXN0IG9mIHN0YXJ0IGFuZCBlbmQgaW5kZXggZm9yIHRoZSBmaXJzdCBzZXF1ZW5jZSBvZgogICAgICAgIGNoYXJhY3RlcnMgYmV0d2VlbiBJTkRFWDEgYW5kIElOREVYMiB3aGljaCBhbGwgaGF2ZSB0YWcgVEFHTkFNRS4KICAgICAgICBUaGUgdGV4dCBpcyBzZWFyY2hlZCBmb3J3YXJkIGZyb20gSU5ERVgxLlJSAwAAdAkAAABuZXh0cmFuZ2UoBAAAAFI+AAAAUlwAAABSRAAAAFJ7AAAAKAQAAABSRgAAAFJTAwAAUhADAABSEQMAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAHRhZ19uZXh0cmFuZ2VFDAAAcwQAAAAABBIBYwQAAAAEAAAACAAAAEMAAABzLgAAAHwAAGoAAGoBAHwAAGoAAGoCAHwAAGoDAGQBAGQCAHwBAHwCAHwDAIMGAIMBAFMoAwAAAHO7AAAAUmV0dXJuIGEgbGlzdCBvZiBzdGFydCBhbmQgZW5kIGluZGV4IGZvciB0aGUgZmlyc3Qgc2VxdWVuY2Ugb2YKICAgICAgICBjaGFyYWN0ZXJzIGJldHdlZW4gSU5ERVgxIGFuZCBJTkRFWDIgd2hpY2ggYWxsIGhhdmUgdGFnIFRBR05BTUUuCiAgICAgICAgVGhlIHRleHQgaXMgc2VhcmNoZWQgYmFja3dhcmRzIGZyb20gSU5ERVgxLlJSAwAAdAkAAABwcmV2cmFuZ2UoBAAAAFI+AAAAUlwAAABSRAAAAFJ7AAAAKAQAAABSRgAAAFJTAwAAUhADAABSEQMAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DQAAAHRhZ19wcmV2cmFuZ2VLDAAAcwQAAAAABBIBYwMAAAADAAAABgAAAEMAAABzIwAAAHwAAGoAAGoBAHwAAGoCAGQBAGQCAHwBAHwCAIMFAAFkAwBTKAQAAABzYQAAAENoYW5nZSB0aGUgcHJpb3JpdHkgb2YgdGFnIFRBR05BTUUgc3VjaCB0aGF0IGl0IGlzIGhpZ2hlcgogICAgICAgIHRoYW4gdGhlIHByaW9yaXR5IG9mIEFCT1ZFVEhJUy5SUgMAAFLJAAAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAMAAABSRgAAAFJTAwAAUsoAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Ur4CAABRDAAAcwQAAAAAAwkBYwIAAAACAAAABgAAAEMAAABzKAAAAHwAAGoAAGoBAHwAAGoAAGoCAHwAAGoDAGQBAGQCAHwBAIMEAIMBAFMoAwAAAHM3AAAAUmV0dXJuIGEgbGlzdCBvZiByYW5nZXMgb2YgdGV4dCB3aGljaCBoYXZlIHRhZyBUQUdOQU1FLlJSAwAAdAYAAAByYW5nZXMoBAAAAFI+AAAAUlwAAABSRAAAAFJ7AAAAKAIAAABSRgAAAFJTAwAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQKAAAAdGFnX3Jhbmdlc1YMAABzBAAAAAACEgFjBAAAAAQAAAAHAAAAQwAAAHMmAAAAfAAAagAAagEAfAAAagIAZAEAZAIAfAEAfAIAfAMAgwYAAWQDAFMoBAAAAHNBAAAAUmVtb3ZlIHRhZyBUQUdOQU1FIGZyb20gYWxsIGNoYXJhY3RlcnMgYmV0d2VlbiBJTkRFWDEgYW5kIElOREVYMi5SUgMAAFJwAAAATigDAAAAUj4AAABSRAAAAFJ7AAAAKAQAAABSRgAAAFJTAwAAUhADAABSEQMAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CgAAAHRhZ19yZW1vdmVaDAAAcwQAAAAAAgkBYwMAAAADAAAABgAAAEMAAABzWQAAAHwCAGQBACBkAgBrAwByHQBkAgB8AgAXfQIAbgAAfAIAZAMAH2QEAGsCAHI6AHwCAGQDACB9AgBuAAB8AABqAABqAQB8AABqAgBkBQBkBgB8AQB8AgCDBQBTKAcAAABzOgAAAFJldHVybiB0aGUgdmFsdWUgb2YgT1BUSU9OIG9mIGFuIGVtYmVkZGVkIHdpbmRvdyBhdCBJTkRFWC5pAQAAAFJXAQAAaf////9SVQEAAFJ6AAAAUooBAAAoAwAAAFI+AAAAUkQAAABSewAAACgDAAAAUkYAAABSoQEAAFKwAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQLAAAAd2luZG93X2NnZXReDAAAcwoAAAAAAhABDQEQAQ0BYwMAAAAEAAAABAAAAEsAAABzHAAAAHwAAGoAAGQBAGQCAHwBAGYDAHwCAHwDAIMDAFMoAwAAAHMmAAAAQ29uZmlndXJlIGFuIGVtYmVkZGVkIHdpbmRvdyBhdCBJTkRFWC5SegAAAFKJAQAAKAEAAABSiAEAACgEAAAAUkYAAABSoQEAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBAAAAB3aW5kb3dfY29uZmlndXJlZQwAAHMCAAAAAAJjAwAAAAQAAAAFAAAASwAAAHMzAAAAfAAAagAAagEAfAAAagIAZAEAZAIAfAEAZgQAfAAAagMAfAIAfAMAgwIAF4MBAAFkAwBTKAQAAABzGQAAAENyZWF0ZSBhIHdpbmRvdyBhdCBJTkRFWC5SegAAAFIgAgAATigEAAAAUj4AAABSRAAAAFJ7AAAAUqAAAAAoBAAAAFJGAAAAUqEBAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQNAAAAd2luZG93X2NyZWF0ZWkMAABzBgAAAAACCQESAWMBAAAAAQAAAAUAAABDAAAAcyUAAAB8AABqAABqAQB8AABqAABqAgB8AABqAwBkAQBkAgCDAwCDAQBTKAMAAABzNAAAAFJldHVybiBhbGwgbmFtZXMgb2YgZW1iZWRkZWQgd2luZG93cyBpbiB0aGlzIHdpZGdldC5SegAAAFK7AQAAKAQAAABSPgAAAFJcAAAAUkQAAABSewAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAwAAAB3aW5kb3dfbmFtZXNuDAAAcwQAAAAAAgkBYwEAAAACAAAABAAAAEcAAABzJAAAAHwAAGoAAGoBAHwAAGoCAGQBAGQCAGYDAHwBABeDAQABZAMAUygEAAAAcxsAAABPYnNvbGV0ZSBmdW5jdGlvbiwgdXNlIHNlZS5SzgEAAHMKAAAALXBpY2twbGFjZU4oAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABSQgEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DwAAAHl2aWV3X3BpY2twbGFjZXIMAABzAgAAAAACTig6AAAAUisAAABSLAAAAFItAAAAUhkAAABSSQAAAFKaAQAAUiQDAABSJQMAAFImAwAAUicDAABS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AFJGAAAAdAgAAABmaWxlbmFtZXQGAAAAZm9ybWF0dAsAAABmcm9tX2Nvb3Jkc1J1AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJGAgAAFQ0AAHMMAAAAAAMSAQYBEwEGARcBTigOAAAAUisAAABSLAAAAFItAAAAUhkAAABSSQAAAFJ+AwAAUooBAABSxQEAAFJ/AwAAUoEDAABSggMAAFJPAAAAUoMDAABSRgIAACgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJ8AwAA4wwAAHMWAAAABgEGARIGCQMJBAkDCQUMBwwHCQMMCnQLAAAAQml0bWFwSW1hZ2VjAAAAAAAAAAAEAAAAQgAAAHMgAAAAZQAAWgEAZAAAWgIAZAIAaQAAZAIAZAEAhAMAWgQAUlMoAwAAAHMiAAAAV2lkZ2V0IHdoaWNoIGNhbiBkaXNwbGF5IGEgYml0bWFwLmMEAAAABQAAAAcAAABLAAAAcyAAAAB0AABqAQB8AABkAQB8AQB8AgB8AwB8BACNBQABZAIAUygDAAAAc3EAAABDcmVhdGUgYSBiaXRtYXAgd2l0aCBOQU1FLgoKICAgICAgICBWYWxpZCByZXNvdXJjZSBuYW1lczogYmFja2dyb3VuZCwgZGF0YSwgZmlsZSwgZm9yZWdyb3VuZCwgbWFza2RhdGEsIG1hc2tmaWxlLlLzAQAATigCAAAAUnkDAABSSQAAACgFAAAAUkYAAABSSAAAAFIkAAAAUkcAAABSdgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSSQAAACENAABzAgAAAAAETigFAAAAUisAAABSLAAAAFItAAAAUhkAAABSSQAAACgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKHAwAAHw0AAHMEAAAABgEGAWMAAAAAAAAAAAMAAABDAAAAcxMAAAB0AABqAQBqAgBkAQBkAgCDAgBTKAMAAABOUroBAABSuwEAACgDAAAAUi8AAABSPgAAAFJEAAAAKAAAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UrwBAAAnDQAAcwAAAABjAAAAAAAAAAADAAAAQwAAAHMTAAAAdAAAagEAagIAZAEAZAIAgwIAUygDAAAATlK6AQAAUr0BAAAoAwAAAFIvAAAAUj4AAABSRAAAACgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVK+AQAAKA0AAHMAAAAAdAcAAABTcGluYm94YwAAAAAAAAAAAwAAAEIAAABzqgAAAGUAAFoBAGQAAFoCAGQRAGkAAGQBAIQCAFoEAGQCAIQAAFoFAGQRAGQDAIQBAFoGAGQEAIQAAFoHAGQFAIQAAFoIAGQGAIQAAFoJAGQHAIQAAFoKAGQIAIQAAFoLAGQJAIQAAFoMAGQKAIQAAFoNAGQLAIQAAFoOAGQMAIQAAFoPAGQNAIQAAFoQAGQOAIQAAFoRAGQPAIQAAFoSAGQRAGQQAIQBAFoTAFJTKBIAAABzDwAAAHNwaW5ib3ggd2lkZ2V0LmMDAAAABAAAAAYAAABLAAAAcx0AAAB0AABqAQB8AAB8AQBkAQB8AgB8AwCDBQABZAIAUygDAAAAc6QDAABDb25zdHJ1Y3QgYSBzcGluYm94IHdpZGdldCB3aXRoIHRoZSBwYXJlbnQgTUFTVEVSLgoKICAgICAgICBTVEFOREFSRCBPUFRJT05TCgogICAgICAgICAgICBhY3RpdmViYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kLCBib3JkZXJ3aWR0aCwKICAgICAgICAgICAgY3Vyc29yLCBleHBvcnRzZWxlY3Rpb24sIGZvbnQsIGZvcmVncm91bmQsCiAgICAgICAgICAgIGhpZ2hsaWdodGJhY2tncm91bmQsIGhpZ2hsaWdodGNvbG9yLAogICAgICAgICAgICBoaWdobGlnaHR0aGlja25lc3MsIGluc2VydGJhY2tncm91bmQsCiAgICAgICAgICAgIGluc2VydGJvcmRlcndpZHRoLCBpbnNlcnRvZmZ0aW1lLAogICAgICAgICAgICBpbnNlcnRvbnRpbWUsIGluc2VydHdpZHRoLCBqdXN0aWZ5LCByZWxpZWYsCiAgICAgICAgICAgIHJlcGVhdGRlbGF5LCByZXBlYXRpbnRlcnZhbCwKICAgICAgICAgICAgc2VsZWN0YmFja2dyb3VuZCwgc2VsZWN0Ym9yZGVyd2lkdGgKICAgICAgICAgICAgc2VsZWN0Zm9yZWdyb3VuZCwgdGFrZWZvY3VzLCB0ZXh0dmFyaWFibGUKICAgICAgICAgICAgeHNjcm9sbGNvbW1hbmQuCgogICAgICAgIFdJREdFVC1TUEVDSUZJQyBPUFRJT05TCgogICAgICAgICAgICBidXR0b25iYWNrZ3JvdW5kLCBidXR0b25jdXJzb3IsCiAgICAgICAgICAgIGJ1dHRvbmRvd25yZWxpZWYsIGJ1dHRvbnVwcmVsaWVmLAogICAgICAgICAgICBjb21tYW5kLCBkaXNhYmxlZGJhY2tncm91bmQsCiAgICAgICAgICAgIGRpc2FibGVkZm9yZWdyb3VuZCwgZm9ybWF0LCBmcm9tLAogICAgICAgICAgICBpbnZhbGlkY29tbWFu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ACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Uk8AAABjDQAAcwIAAAAAAmMCAAAAAgAAAAQAAABDAAAAcxkAAAB8AABqAABqAQB8AABqAgBkAQB8AQCDAwBTKAIAAABzrgAAAEFsdGVyIHRoZSBwb3NpdGlvbiBvZiB0aGUgaW5zZXJ0aW9uIGN1cnNvci4KCiAgICAgICAgVGhlIGluc2VydGlvbiBjdXJzb3Igd2lsbCBiZSBkaXNwbGF5ZWQganVzdCBiZWZvcmUKICAgICAgICB0aGUgY2hhcmFjdGVyIGdpdmVuIGJ5IGluZGV4LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZwogICAgICAgIFK4AgAAKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUqEBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UrgCAABnDQAAcwIAAAAABmMDAAAAAwAAAAUAAABDAAAAcxwAAAB8AABqAABqAQB8AABqAgBkAQB8AQB8AgCDBABTKAIAAABzewAAAFJldHVybnMgdGhlIG5hbWUgb2YgdGhlIHdpZGdldCBhdCBwb3NpdGlvbiB4LCB5CgogICAgICAgIFJldHVybiB2YWx1ZSBpcyBvbmUgb2Y6IG5vbmUsIGJ1dHRvbmRvd24sIGJ1dHRvbnVwLCBlbnRyeQogICAgICAgIFIeAwAAKAMAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAUiwBAABSOQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSHgMAAG8NAABzAgAAAAAFYwIAAAACAAAABAAAAEMAAABzGQAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAIMDAFMoAgAAAHM7AAAAUmV0dXJucyB0aGUgbnVtZXJpY2FsIGluZGV4IGNvcnJlc3BvbmRpbmcgdG8gaW5kZXgKICAgICAgICBSoQEAACgDAAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFKhAQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKhAQAAdg0AAHMCAAAAAANjAwAAAAMAAAAFAAAAQwAAAHMcAAAAfAAAagAAagEAfAAAagIAZAEAfAEAfAIAgwQAUygCAAAAc0QAAABJbnNlcnQgc3RyaW5nIHMgYXQgaW5kZXgKCiAgICAgICAgIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nLgogICAgICAgIFJ2AgAAKAMAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAUqEBAABSbAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSdgIAAHsNAABzAgAAAAAFYwIAAAACAAAABAAAAEMAAABzGQAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAIMDAFMoAgAAAHOaAAAAQ2F1c2VzIHRoZSBzcGVjaWZpZWQgZWxlbWVudCB0byBiZSBpbnZva2VkCgogICAgICAgIFRoZSBlbGVtZW50IGNvdWxkIGJlIGJ1dHRvbmRvd24gb3IgYnV0dG9udXAKICAgICAgICB0cmlnZ2VyaW5nIHRoZSBhY3Rpb24gYXNzb2NpYXRlZCB3aXRoIGl0LgogICAgICAgIFJzAgAAKAMAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAdAcAAABlbGVtZW50KAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJzAgAAgg0AAHMCAAAAAAZjAQAAAAIAAAAEAAAARwAAAHMsAAAAfAAAagAAfAAAagEAagIAfAAAagMAZAEAZgIAfAEAF4MBAIMBAHArAGQCAFMoAwAAAHMSAAAASW50ZXJuYWwgZnVuY3Rpb24uUsACAAAoAAAAACgEAAAAUvwAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUnUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UsACAACKDQAAcwQAAAAAAgYBYwIAAAACAAAAAwAAAEMAAABzEAAAAHwAAGoAAGQBAHwBAIMCAFMoAgAAAHP2AAAAUmVjb3JkcyB4IGFuZCB0aGUgY3VycmVudCB2aWV3IGluIHRoZSBzcGluYm94IHdpbmRvdzsKCiAgICAgICAgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGxhdGVyIHNjYW4gZHJhZ3RvIGNvbW1hbmRzLgogICAgICAgIFR5cGljYWxseSB0aGlzIGNvbW1hbmQgaXMgYXNzb2NpYXRlZCB3aXRoIGEgbW91c2UgYnV0dG9uCiAgICAgICAgcHJlc3MgaW4gdGhlIHdpZGdldC4gSXQgcmV0dXJucyBhbiBlbXB0eSBzdHJpbmcuCiAgICAgICAgUsECAAAoAQAAAFLAAgAAKAIAAABSRgAAAFIsAQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLCAgAAjw0AAHMCAAAAAAdjAgAAAAIAAAADAAAAQwAAAHMQAAAAfAAAagAAZAEAfAEAgwIAUygCAAAAc7QBAABDb21wdXRlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGdpdmVuIHggYXJndW1lbnQKICAgICAgICBhbmQgdGhlIHggYXJndW1lbnQgdG8gdGhlIGxhc3Qgc2NhbiBtYXJrIGNvbW1hbmQKCiAgICAgICAgSXQgdGhlbiBhZGp1c3RzIHRoZSB2aWV3IGxlZnQgb3IgcmlnaHQgYnkgMTAgdGltZXMgdGhlCiAgICAgICAgZGlmZmVyZW5jZSBpbiB4LWNvb3JkaW5hdGVzLiBUaGlzIGNvbW1hbmQgaXMgdHlwaWNhbGx5CiAgICAgICAgYXNzb2NpYXRlZCB3aXRoIG1vdXNlIG1vdGlvbiBldmVudHMgaW4gdGhlIHdpZGdldCwgdG8KICAgICAgICBwcm9kdWNlIHRoZSBlZmZlY3Qgb2YgZHJhZ2dpbmcgdGhlIHNwaW5ib3ggYXQgaGlnaCBzcGVlZAogICAgICAgIHRocm91Z2ggdGhlIHdpbmRvdy4gVGhlIHJldHVybiB2YWx1ZSBpcyBhbiBlbXB0eSBzdHJpbmcuCiAgICAgICAgUsMCAAAoAQAAAFLAAgAAKAIAAABSRgAAAFIsAQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLFAgAAmA0AAHMCAAAAAApjAQAAAAIAAAAEAAAARwAAAHMsAAAAfAAAagAAfAAAagEAagIAfAAAagMAZAEAZgIAfAEAF4MBAIMBAHArAGQCAFMoAwAAAHMSAAAASW50ZXJuYWwgZnVuY3Rpb24uUrsAAAAoAAAAACgEAAAAUvwAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUnUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UrsAAACkDQAAcwQAAAAAAgYBYwIAAAACAAAAAwAAAEMAAABzEAAAAHwAAGoAAGQBAHwBAIMCAFMoAgAAAHMTAgAATG9jYXRlIHRoZSBlbmQgb2YgdGhlIHNlbGVjdGlvbiBuZWFyZXN0IHRvIHRoZSBjaGFyYWN0ZXIKICAgICAgICBnaXZlbiBieSBpbmRleCwKCiAgICAgICAgVGhlbiBhZGp1c3QgdGhhdCBlbmQgb2YgdGhlIHNlbGVjdGlvbiB0byBiZSBhdCBpbmRleAogICAgICAgIChpLmUgaW5jbHVkaW5nIGJ1dCBub3QgZ29pbmcgYmV5b25kIGluZGV4KS4gVGhlIG90aGVyCiAgICAgICAgZW5kIG9mIHRoZSBzZWxlY3Rpb24gaXMgbWFkZSB0aGUgYW5jaG9yIHBvaW50IGZvciBmdXR1cmUKICAgICAgICBzZWxlY3QgdG8gY29tbWFuZHMuIElmIHRoZSBzZWxlY3Rpb24gaXNuJ3QgY3VycmVudGx5IGluCiAgICAgICAgdGhlIHNwaW5ib3gsIHRoZW4gYSBuZXcgc2VsZWN0aW9uIGlzIGNyZWF0ZWQgdG8gaW5jbHVkZQogICAgICAgIHRoZSBjaGFyYWN0ZXJzIGJldHdlZW4gaW5kZXggYW5kIHRoZSBtb3N0IHJlY2VudCBzZWxlY3Rpb24KICAgICAgICBhbmNob3IgcG9pbnQsIGluY2x1c2l2ZS4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcuCiAgICAgICAgUscCAAAoAQAAAFK7AAAAKAIAAABSRgAAAFKhAQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVLYAgAAqQ0AAHMCAAAAAAxjAQAAAAEAAAACAAAAQwAAAHMNAAAAfAAAagAAZAEAgwEAUygCAAAAc4wAAABDbGVhciB0aGUgc2VsZWN0aW9uCgogICAgICAgIElmIHRoZSBzZWxlY3Rpb24gaXNuJ3QgaW4gdGhpcyB3aWRnZXQgdGhlbiB0aGUKICAgICAgICBjb21tYW5kIGhhcyBubyBlZmZlY3QuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nLgogICAgICAgIFKiAAAAKAEAAABSuwAAACgBAAAAUkYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UrwAAAC3DQAAcwIAAAAABmMCAAAAAgAAAAMAAABDAAAAcxAAAAB8AABqAABkAQB8AQCDAgBTKAIAAABziwAAAFNldHMgb3IgZ2V0cyB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGVsZW1lbnQuCgogICAgICAgIElmIGEgc3BpbmJ1dHRvbiBlbGVtZW50IGlzIHNwZWNpZmllZCwgaXQgd2lsbCBiZQogICAgICAgIGRpc3BsYXllZCBkZXByZXNzZWQKICAgICAgICBSigMAACgBAAAAUrsAAAAoAgAAAFJGAAAAUooDAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dBEAAABzZWxlY3Rpb25fZWxlbWVudL8NAABzAgAAAAAGTigUAAAAUisAAABSLAAAAFItAAAAUhkAAABSSQAAAFKaAQAAUrUBAABSTwAAAFK4AgAAUh4DAABSoQEAAFJ2AgAAUnMCAABSwAIAAFLCAgAAUsUCAABSuwAAAFLYAgAAUrwAAABSiwMAACgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKIAwAAKw0AAHMiAAAABgEGAQ8dCQ4MCwkECQgJBwkFCQcJCAkFCQkJDAkFCQ4JCHQKAAAATGFiZWxGcmFtZWMAAAAAAAAAAAMAAABCAAAAcx0AAABlAABaAQBkAABaAgBkAgBpAABkAQCEAgBaBABSUygDAAAAcxIAAABsYWJlbGZyYW1lIHdpZGdldC5jAwAAAAQAAAAGAAAASwAAAHMdAAAAdAAAagEAfAAAfAEAZAEAfAIAfAMAgwUAAWQCAFMoAwAAAHOrAQAAQ29uc3RydWN0IGEgbGFiZWxmcmFtZSB3aWRnZXQgd2l0aCB0aGUgcGFyZW50IE1BU1RFUi4KCiAgICAgICAgU1RBTkRBUkQgT1BUSU9OUwoKICAgICAgICAgICAgYm9yZGVyd2lkdGgsIGN1cnNvciwgZm9udCwgZm9yZWdyb3VuZCwKICAgICAgICAgICAgaGlnaGxpZ2h0YmFja2dyb3VuZCwgaGlnaGxpZ2h0Y29sb3IsCiAgICAgICAgICAgIGhpZ2hsaWdodHRoaWNrbmVzcywgcGFkeCwgcGFkeSwgcmVsaWVmLAogICAgICAgICAgICB0YWtlZm9jdXMsIHRleHQKCiAgICAgICAgV0lER0VULVNQRUNJRklDIE9QVElPTlMKCiAgICAgICAgICAgIGJhY2tncm91bmQsIGNsYXNzLCBjb2xvcm1hcCwgY29udGFpbmVyLAogICAgICAgICAgICBoZWlnaHQsIGxhYmVsYW5jaG9yLCBsYWJlbHdpZGdldCwKICAgICAgICAgICAgdmlzdWFsLCB3aWR0aAogICAgICAgIHQKAAAAbGFiZWxmcmFtZU4oAgAAAFJkAgAAUkkAAAAoBAAAAFJGAAAAUkcAAABSJAAAAFJ2AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVJJAAAAyw0AAHMCAAAAABBOKAUAAABSKwAAAFIsAAAAUi0AAABSGQAAAFJJAAAAKAAAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UowDAADJDQAAcwQAAAAGAQYBdAsAAABQYW5lZFdpbmRvd2MAAAAAAAAAAAMAAABCAAAAc6oAAABlAABaAQBkAABaAgBkEABpAABkAQCEAgBaBABkAgCEAABaBQBkAwCEAABaBgBlBgBaBwBkBACEAABaCABkBQCEAABaCQBkBgCEAABaCgBkBwCEAABaCwBkCACEAABaDABkCQCEAABaDQBkCgCEAABaDgBkCwCEAABaDwBkDACEAABaEABkDQCEAABaEQBkEABkDgCEAQBaEgBlEgBaEwBkDwCEAABaFABSUygRAAAAcxMAAABwYW5lZHdpbmRvdyB3aWRnZXQuYwMAAAAEAAAABgAAAEsAAABzHQAAAHQAAGoBAHwAAHwBAGQBAHwCAHwDAIMFAAFkAgBTKAMAAABzVAEAAENvbnN0cnVjdCBhIHBhbmVkd2luZG93IHdpZGdldCB3aXRoIHRoZSBwYXJlbnQgTUFTVEVSLgoKICAgICAgICBTVEFOREFSRCBPUFRJT05TCgogICAgICAgICAgICBiYWNrZ3JvdW5kLCBib3JkZXJ3aWR0aCwgY3Vyc29yLCBoZWlnaHQsCiAgICAgICAgICAgIG9yaWVudCwgcmVsaWVmLCB3aWR0aAoKICAgICAgICBXSURHRVQtU1BFQ0lGSUMgT1BUSU9OUwoKICAgICAgICAgICAgaGFuZGxlcGFkLCBoYW5kbGVzaXplLCBvcGFxdWVyZXNpemUsCiAgICAgICAgICAgIHNhc2hjdXJzb3IsIHNhc2hwYWQsIHNhc2hyZWxpZWYsCiAgICAgICAgICAgIHNhc2h3aWR0aCwgc2hvd2hhbmRsZSwKICAgICAgICB0CwAAAHBhbmVkd2luZG93TigCAAAAUmQCAABSSQAAACgEAAAAUkYAAABSRwAAAFIkAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UkkAAADhDQAAcwIAAAAADmMCAAAAAwAAAAQAAABLAAAAcy0AAAB8AABqAABqAQB8AABqAgBkAQB8AQBmAwB8AABqAwB8AgCDAQAXgwEAAWQCAFMoAwAAAHMrAQAAQWRkIGEgY2hpbGQgd2lkZ2V0IHRvIHRoZSBwYW5lZHdpbmRvdyBpbiBhIG5ldyBwYW5lLgoKICAgICAgICBUaGUgY2hpbGQgYXJndW1lbnQgaXMgdGhlIG5hbWUgb2YgdGhlIGNoaWxkIHdpZGdldAogICAgICAgIGZvbGxvd2VkIGJ5IHBhaXJzIG9mIGFyZ3VtZW50cyB0aGF0IHNwZWNpZnkgaG93IHRvCiAgICAgICAgbWFuYWdlIHRoZSB3aW5kb3dzLiBUaGUgcG9zc2libGUgb3B0aW9ucyBhbmQgdmFsdWVzCiAgICAgICAgYXJlIHRoZSBvbmVzIGFjY2VwdGVkIGJ5IHRoZSBwYW5lY29uZmlndXJlIG1ldGhvZC4KICAgICAgICBSsQAAAE4oBAAAAFI+AAAAUkQAAABSewAAAFKgAAAAKAMAAABSRgAAAFLXAAAAUnYAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UrEAAADxDQAAcwIAAAAACGMCAAAAAgAAAAQAAABDAAAAcx0AAAB8AABqAABqAQB8AABqAgBkAQB8AQCDAwABZAIAUygDAAAAc4QAAABSZW1vdmUgdGhlIHBhbmUgY29udGFpbmluZyBjaGlsZCBmcm9tIHRoZSBwYW5lZHdpbmRvdwoKICAgICAgICBBbGwgZ2VvbWV0cnkgbWFuYWdlbWVudCBvcHRpb25zIGZvciBjaGlsZCB3aWxsIGJlIGZvcmdvdHRlbi4KICAgICAgICBSUQIAAE4oAwAAAFI+AAAAUkQAAABSewAAACgCAAAAUkYAAABS1wAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlScAAAAPsNAABzAgAAAAAFYwMAAAADAAAABQAAAEMAAABzHAAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAHwCAIMEAFMoAgAAAHOXAQAASWRlbnRpZnkgdGhlIHBhbmVkd2luZG93IGNvbXBvbmVudCBhdCBwb2ludCB4LCB5CgogICAgICAgIElmIHRoZSBwb2ludCBpcyBvdmVyIGEgc2FzaCBvciBhIHNhc2ggaGFuZGxlLCB0aGUgcmVzdWx0CiAgICAgICAgaXMgYSB0d28gZWxlbWVudCBsaXN0IGNvbnRhaW5pbmcgdGhlIGluZGV4IG9mIHRoZSBzYXNoIG9yCiAgICAgICAgaGFuZGxlLCBhbmQgYSB3b3JkIGluZGljYXRpbmcgd2hldGhlciBpdCBpcyBvdmVyIGEgc2FzaAogICAgICAgIG9yIGEgaGFuZGxlLCBzdWNoIGFzIHswIHNhc2h9IG9yIHsyIGhhbmRsZX0uIElmIHRoZSBwb2ludAogICAgICAgIGlzIG92ZXIgYW55IG90aGVyIHBhcnQgb2YgdGhlIHBhbmVkd2luZG93LCB0aGUgcmVzdWx0IGlzCiAgICAgICAgYW4gZW1wdHkgbGlzdC4KICAgICAgICBSHgMAACgDAAAAUj4AAABSRAAAAFJ7AAAAKAMAAABSRgAAAFIsAQAAUjkBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5Uh4DAAADDgAAcwIAAAAACmMBAAAAAgAAAAQAAABHAAAAcywAAAB8AABqAAB8AABqAQBqAgB8AABqAwBkAQBmAgB8AQAXgwEAgwEAcCsAZAIAUygDAAAAcxIAAABJbnRlcm5hbCBmdW5jdGlvbi50BQAAAHByb3h5KAAAAAAoBAAAAFL8AAAAUj4AAABSRAAAAFJ7AAAAKAIAAABSRgAAAFJ1AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weVKQAwAADw4AAHMEAAAAAAIGAWMBAAAAAQAAAAIAAABDAAAAcw0AAAB8AABqAABkAQCDAQBTKAIAAABzQgAAAFJldHVybiB0aGUgeCBhbmQgeSBwYWlyIG9mIHRoZSBtb3N0IHJlY2VudCBwcm94eSBsb2NhdGlvbgogICAgICAgIHQFAAAAY29vcmQoAQAAAFKQAwAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CwAAAHByb3h5X2Nvb3JkFA4AAHMCAAAAAANjAQAAAAEAAAACAAAAQwAAAHMNAAAAfAAAagAAZAEAgwEAUygCAAAAcysAAABSZW1vdmUgdGhlIHByb3h5IGZyb20gdGhlIGRpc3BsYXkuCiAgICAgICAgUlECAAAoAQAAAFKQAwAAKAEAAABSRgAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0DAAAAHByb3h5X2ZvcmdldBkOAABzAgAAAAADYwMAAAADAAAABAAAAEMAAABzEwAAAHwAAGoAAGQBAHwBAHwCAIMDAFMoAgAAAHM6AAAAUGxhY2UgdGhlIHByb3h5IGF0IHRoZSBnaXZlbiB4IGFuZCB5IGNvb3JkaW5hdGVzLgogICAgICAgIFKXAQAAKAEAAABSkAMAACgDAAAAUkYAAABSLAEAAFI5AQAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvVGtpbnRlci5weXQLAAAAcHJveHlfcGxhY2UeDgAAcwIAAAAAA2MBAAAAAgAAAAQAAABHAAAAcywAAAB8AABqAAB8AABqAQBqAgB8AABqAwBkAQBmAgB8AQAXgwEAgwEAcCsAZAIAUygDAAAAcxIAAABJbnRlcm5hbCBmdW5jdGlvbi50BAAAAHNhc2goAAAAACgEAAAAUvwAAABSPgAAAFJEAAAAUnsAAAAoAgAAAFJGAAAAUnUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5UpUDAAAjDgAAcwQAAAAAAgYBYwIAAAACAAAAAwAAAEMAAABzEAAAAHwAAGoAAGQBAHwBAIMCAFMoAgAAAHNBAgAAUmV0dXJuIHRoZSBjdXJyZW50IHggYW5kIHkgcGFpciBmb3IgdGhlIHNhc2ggZ2l2ZW4gYnkgaW5kZXguCgogICAgICAgIEluZGV4IG11c3QgYmUgYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDEgbGVzcyB0aGFuIHRoZQogICAgICAgIG51bWJlciBvZiBwYW5lcyBpbiB0aGUgcGFuZWR3aW5kb3cuIFRoZSBjb29yZGluYXRlcyBnaXZlbiBhcmUKICAgICAgICB0aG9zZSBvZiB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZSByZWdpb24gY29udGFpbmluZyB0aGUgc2FzaC4KICAgICAgICBwYXRoTmFtZSBzYXNoIGRyYWd0byBpbmRleCB4IHkgVGhpcyBjb21tYW5kIGNvbXB1dGVzIHRoZQogICAgICAgIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgZ2l2ZW4gY29vcmRpbmF0ZXMgYW5kIHRoZSBjb29yZGluYXRlcwogICAgICAgIGdpdmVuIHRvIHRoZSBsYXN0IHNhc2ggY29vcmQgY29tbWFuZCBmb3IgdGhlIGdpdmVuIHNhc2guIEl0IHRoZW4KICAgICAgICBtb3ZlcyB0aGF0IHNhc2ggdGhlIGNvbXB1dGVkIGRpZmZlcmVuY2UuIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlCiAgICAgICAgZW1wdHkgc3RyaW5nLgogICAgICAgIFKRAwAAKAEAAABSlQMAACgCAAAAUkYAAABSoQEAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHl0CgAAAHNhc2hfY29vcmQoDgAAcwIAAAAADGMCAAAAAgAAAAMAAABDAAAAcxAAAAB8AABqAABkAQB8AQCDAgBTKAIAAABzfwAAAFJlY29yZHMgeCBhbmQgeSBmb3IgdGhlIHNhc2ggZ2l2ZW4gYnkgaW5kZXg7CgogICAgICAgIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBsYXRlciBkcmFndG8gY29tbWFuZHMgdG8gbW92ZSB0aGUgc2FzaC4KICAgICAgICBSwQIAACgBAAAAUpUDAAAoAgAAAFJGAAAAUqEBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAkAAABzYXNoX21hcms2DgAAcwIAAAAABWMEAAAABAAAAAUAAABDAAAAcxYAAAB8AABqAABkAQB8AQB8AgB8AwCDBABTKAIAAABzPwAAAFBsYWNlIHRoZSBzYXNoIGdpdmVuIGJ5IGluZGV4IGF0IHRoZSBnaXZlbiBjb29yZGluYXRlcwogICAgICAgIFKXAQAAKAEAAABSlQMAACgEAAAAUkYAAABSoQEAAFIsAQAAUjkBAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay9Ua2ludGVyLnB5dAoAAABzYXNoX3BsYWNlPQ4AAHMCAAAAAANjAwAAAAMAAAAFAAAAQwAAAHMnAAAAfAAAagAAagEAfAAAagIAZAEAZgIAfAEAZAIAfAIAF2YCABeDAQBTKAMAAABzdwAAAFF1ZXJ5IGEgbWFuYWdlbWVudCBvcHRpb24gZm9yIHdpbmRvdy4KCiAgICAgICAgT3B0aW9uIG1heSBiZSBhbnkgdmFsdWUgYWxsb3dlZCBieSB0aGUgcGFuZWNvbmZpZ3VyZSBzdWJjb21tYW5kCiAgICAgICAgdAgAAABwYW5lY2dldFJXAQAAKAMAAABSPgAAAFJEAAAAUnsAAAAoAwAAAFJGAAAAUtcAAABSsAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL1RraW50ZXIucHlSmQMAAEIOAABzBAAAAAAFCQFjAwAAAAUAAAAJAAAASwAAAHMCAQAAfAIAZAUAawgAcnQAfAMADHJ0AGkAAH0CAHhUAHwAAGoBAGoCAHwAAGoBAGoDAHwAAGoEAGQBAHwBAIMDAIMBAERdKwB9BAB8BABkAgAZZAMAH2YBAHwEAGQDAB8XfAIAfAQAZAIAGWQDAB88cUEAV3wCAFN0BQB8AgCDAQB0BgBrAgBy0gB8AwAMctIAfAAAagEAagIAfAAAagEAagMAfAAAagQAZAEAfAEAZAQAfAIAF4MEAIMBAH0EAHwEAGQCABlkAwAfZgEAfAQAZAMAHxdTfAAAagEAagMAfAAAagQAZAEAfAEAZgMAfAAAagcAfAIAfAMAgwIAF4MBAAFkBQBTKAYAAABzmA0AAFF1ZXJ5IG9yIG1vZGlmeSB0aGUgbWFuYWdlbWVudCBvcHRpb25zIGZvciB3aW5kb3cuCgogICAgICAgIElmIG5vIG9wdGlvbiBpcyBzcGVjaWZpZWQsIHJldHVybnMgYSBsaXN0IGRlc2NyaWJpbmcgYWxsCiAgICAgICAgb2YgdGhlIGF2YWlsYWJsZSBvcHRpb25zIGZvciBwYXRoTmFtZS4gIElmIG9wdGlvbiBpcwogICAgICAgIHNwZWNpZmllZCB3aXRoIG5vIHZhbHVlLCB0aGVuIHRoZSBjb21tYW5kIHJldHVybnMgYSBsaXN0CiAgICAgICAgZGVzY3JpYmluZyB0aGUgb25lIG5hbWVkIG9wdGlvbiAodGhpcyBsaXN0IHdpbGwgYmUgaWRlbnRpY2FsCiAgICAgICAgdG8gdGhlIGNvcnJlc3BvbmRpbmcgc3VibGlzdCBvZiB0aGUgdmFsdWUgcmV0dXJuZWQgaWYgbm8KICAgICAgICBvcHRpb24gaXMgc3BlY2lmaWVkKS4gSWYgb25lIG9yIG1vcmUgb3B0aW9uLXZhbHVlIHBhaXJzIGFyZQogICAgICAgIHNwZWNpZmllZCwgdGhlbiB0aGUgY29tbWFuZCBtb2RpZmllcyB0aGUgZ2l2ZW4gd2lkZ2V0CiAgICAgICAgb3B0aW9uKHMpIHRvIGhhdmUgdGhlIGdpdmVuIHZhbHVlKHMpOyBpbiB0aGlzIGNhc2UgdGhlCiAgICAgICAgY29tbWFuZCByZXR1cm5zIGFuIGVtcHR5IHN0cmluZy4gVGhlIGZvbGxvd2luZyBvcHRpb25zCiAgICAgICAgYXJlIHN1cHBvcnRlZDoKCiAgICAgICAgYWZ0ZXIgd2luZG93CiAgICAgICAgICAgIEluc2VydCB0aGUgd2luZG93IGFmdGVyIHRoZSB3aW5kb3cgc3BlY2lmaWVkLiB3aW5kb3cKICAgICAgICAgICAgc2hvdWxkIGJlIHRoZSBuYW1lIG9mIGEgd2luZG93IGFscmVhZHkgbWFuYWdlZCBieSBwYXRoTmFtZS4KICAgICAgICBiZWZvcmUgd2luZG93CiAgICAgICAgICAgIEluc2VydCB0aGUgd2luZG93IGJlZm9yZSB0aGUgd2luZG93IHNwZWNpZmllZC4gd2luZG93CiAgICAgICAgICAgIHNob3VsZCBiZSB0aGUgbmFtZSBvZiBhIHdpbmRvdyBhbHJlYWR5IG1hbmFnZWQgYnkgcGF0aE5hbWUuCiAgICAgICAgaGVpZ2h0IHNpemUKICAgICAgICAgICAgU3BlY2lmeSBhIGhlaWdodCBmb3IgdGhlIHdpbmRvdy4gVGhlIGhlaWdodCB3aWxsIGJlIHRoZQogICAgICAgICAgICBvdXRlciBkaW1lbnNpb24gb2YgdGhlIHdpbmRvdyBpbmNsdWRpbmcgaXRzIGJvcmRlciwgaWYKICAgICAgICAgICAgYW55LiBJZiBzaXplIGlzIGFuIGVtcHR5IHN0cmluZywgb3IgaWYgLWhlaWdodCBpcyBub3QKICAgICAgICAgICAgc3BlY2lmaWVkLCB0aGVuIHRoZSBoZWlnaHQgcmVxdWVzdGVkIGludGVybmFsbHkgYnkgdGhlCiAgICAgICAgICAgIHdpbmRvdyB3aWxsIGJlIHVzZWQgaW5pdGlhbGx5OyB0aGUgaGVpZ2h0IG1heSBsYXRlciBiZQogICAgICAgICAgICBhZGp1c3RlZCBieSB0aGUgbW92ZW1lbnQgb2Ygc2FzaGVzIGluIHRoZSBwYW5lZHdpbmRvdy4KICAgICAgICAgICAgU2l6ZSBtYXkgYmUgYW55IHZhbHVlIGFjY2VwdGVkIGJ5IFRrX0dldFBpeGVscy4KICAgICAgICBtaW5zaXplIG4KICAgICAgICAgICAgU3BlY2lmaWVzIHRoYXQgdGhlIHNpemUgb2YgdGhlIHdpbmRvdyBjYW5ub3QgYmUgbWFkZQogICAgICAgICAgICBsZXNzIHRoYW4gbi4gVGhpcyBjb25zdHJhaW50IG9ubHkgYWZmZWN0cyB0aGUgc2l6ZSBvZgogICAgICAgICAgICB0aGUgd2lkZ2V0IGluIHRoZSBwYW5lZCBkaW1lbnNpb24gLS0gdGhlIHggZGltZW5zaW9uCiAgICAgICAgICAgIGZvciBob3Jpem9udGFsIHBhbmVkd2luZG93cywgdGhlIHkgZGltZW5zaW9uIGZvcgogICAgICAgICAgICB2ZXJ0aWNhbCBwYW5lZHdpbmRvd3MuIE1heSBiZSBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkKICAgICAgICAgICAgVGtfR2V0UGl4ZWxzLgogICAgICAgIHBhZHggbgogICAgICAgICAgICBTcGVjaWZpZXMgYSBub24tbmVnYXRpdmUgdmFsdWUgaW5kaWNhdGluZyBob3cgbXVjaAogICAgICAgICAgICBleHRyYSBzcGFjZSB0byBsZWF2ZSBvbiBlYWNoIHNpZGUgb2YgdGhlIHdpbmRvdyBpbgogICAgICAgICAgICB0aGUgWC1kaXJlY3Rpb24uIFRoZSB2YWx1ZSBtYXkgaGF2ZSBhbnkgb2YgdGhlIGZvcm1zCiAgICAgICAgICAgIGFjY2VwdGVkIGJ5IFRrX0dldFBpeGVscy4KICAgICAgICBwYWR5IG4KICAgICAgICAgICAgU3BlY2lmaWVzIGEgbm9uLW5lZ2F0aXZlIHZhbHVlIGluZGljYXRpbmcgaG93IG11Y2gKICAgICAgICAgICAgZXh0cmEgc3BhY2UgdG8gbGVhdmUgb24gZWFjaCBzaWRlIG9mIHRoZSB3aW5kb3cgaW4KICAgICAgICAgICAgdGhlIFktZGlyZWN0aW9uLiBUaGUgdmFsdWUgbWF5IGhhdmUgYW55IG9mIHRoZSBmb3JtcwogICAgICAgICAgICBhY2NlcHRlZCBieSBUa19HZXRQaXhlbHMuCiAgICAgICAgc3RpY2t5IHN0eWxlCiAgICAgICAgICAgIElmIGEgd2luZG93J3MgcGFuZSBpcyBsYXJnZXIgdGhhbiB0aGUgcmVxdWVzdGVkCiAgICAgICAgICAgIGRpbWVuc2lvbnMgb2YgdGhlIHdpbmRvdywgdGhpcyBvcHRpb24gbWF5IGJlIHVzZWQKICAgICAgICAgICAgdG8gcG9zaXRpb24gKG9yIHN0cmV0Y2gpIHRoZSB3aW5kb3cgd2l0aGluIGl0cyBwYW5lLgogICAgICAgICAgICBTdHlsZSBpcyBhIHN0cmluZyB0aGF0IGNvbnRhaW5zIHplcm8gb3IgbW9yZSBvZiB0aGUKICAgICAgICAgICAgY2hhcmFjdGVycyBuLCBzLCBlIG9yIHcuIFRoZSBzdHJpbmcgY2FuIG9wdGlvbmFsbHkKICAgICAgICAgICAgY29udGFpbnMgc3BhY2VzIG9yIGNvbW1hcywgYnV0IHRoZXkgYXJlIGlnbm9yZWQuIEVhY2gKICAgICAgICAgICAgbGV0dGVyIHJlZmVycyB0byBhIHNpZGUgKG5vcnRoLCBzb3V0aCwgZWFzdCwgb3Igd2VzdCkKICAgICAgICAgICAgdGhhdCB0aGUgd2luZG93IHdpbGwgInN0aWNrIiB0by4gSWYgYm90aCBuIGFuZCBzCiAgICAgICAgICAgIChvciBlIGFuZCB3KSBhcmUgc3BlY2lmaWVkLCB0aGUgd2luZG93IHdpbGwgYmUKICAgICAgICAgICAgc3RyZXRjaGVkIHRvIGZpbGwgdGhlIGVudGlyZSBoZWlnaHQgKG9yIHdpZHRoKSBvZgogICAgICAgICAgICBpdHMgY2F2aXR5LgogICAgICAgIHdpZHRoIHNpemUKICAgICAgICAgICAgU3BlY2lmeSBhIHdpZHRoIGZvciB0aGUgd2luZG93LiBUaGUgd2lkdGggd2lsbCBiZQogICAgICAgICAgICB0aGUgb3V0ZXIgZGltZW5zaW9uIG9mIHRoZSB3aW5kb3cgaW5jbHVkaW5nIGl0cwogICAgICAgICAgICBib3JkZXIsIGlmIGFueS4gSWYgc2l6ZSBpcyBhbiBlbXB0eSBzdHJpbmcsIG9yCiAgICAgICAgICAgIGlmIC13aWR0aCBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIHRoZSB3aWR0aCByZXF1ZXN0ZWQKICAgICAgICAgICAgaW50ZXJuYWxseSBieSB0aGUgd2luZG93IHdpbGwgYmUgdXNlZCBpbml0aWFsbHk7IHRoZQogICAgICAgICAgICB3aWR0aCBtYXkgbGF0ZXIgYmUgYWRqdXN0ZWQgYnkgdGhlIG1vdmVtZW50IG9mIHNhc2hlcwogICAgICAgICAgICBpbiB0aGUgcGFuZWR3aW5kb3cuIFNpemUgbWF5IGJlIGFueSB2YWx1ZSBhY2NlcHRlZCBieQogICAgICAgICAgICBUa19HZXRQaXhlbHMuCgogICAgICAgIHQNAAAAcGFuZWNvbmZpZ3VyZWkAAAAAaQEA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