Mw0NCitAfmPTkgAA4wAAAAAAAAAAAAAAAAUAAABAAAAAc9YBAABkAGQBbABtAVoBAQBkAGQCbAJaAmQAZAJsA1oDZABkAmwEWgRkAGQCbAVaBWQAZAJsBloGZABkA2wEbQdaCAEAZABkBGwEbQlaCgEAZAVkBmwLbQxaDG0NWg1tDloObQ9aD20QWhBtEVoRbRJaEm0TWhMBAGQFZAdsFG0VWhVtFloWbRdaF20YWhhtGVoZbRpaGm0bWhttHFocbR1aHW0eWh5tH1ofbSBaIG0hWiEBAGQFZAhsIm0jWiMBAGQFZAlsJG0lWiUBAGQFZApsJm0nWicBAGQFZAtsKG0pWikBAGQFZAxsKm0rWisBAGQFZA1sLG0tWi0BAGQFZA5sLm0vWi8BAGQFZA9sMG0xWjEBAGQFZBBsMm0zWjMBAGQFZBFsNG01WjUBAGQFZBJsNm03WjcBAGQFZBNsOG05WjkBAGQFZBRsOm07WjttPFo8AQBkBWQVbDptPVo+AQBkBWQWbDptP1o/bUBaQAEAZSNqQWpCWkJlA2pDZUSDAVpFZUaDAFpHRwBkF2QYhABkGGVGgwNaSGUCakllAmpKaAJaS0cAZBlkGoQAZBplSGUpgwRaTEcAZBtkHIQAZBxlTIMDWk1kHWQehABaTmQfZCCEAFo9ZAJTACkh6QAAAAApAdoPYWJzb2x1dGVfaW1wb3J0TikB2gVlcnJvcikB2gd0aW1lb3V06QEAAAApCNoMQmFzZVNTTEVycm9y2g9Ccm9rZW5QaXBlRXJyb3LaD0R1bW15Q29ubmVjdGlvbtoOSFRUUENvbm5lY3Rpb27aDUhUVFBFeGNlcHRpb27aD0hUVFBTQ29ubmVjdGlvbtoXVmVyaWZpZWRIVFRQU0Nvbm5lY3Rpb27aDnBvcnRfYnlfc2NoZW1lKQ3aD0Nsb3NlZFBvb2xFcnJvctoORW1wdHlQb29sRXJyb3LaEkhlYWRlclBhcnNpbmdFcnJvctoQSG9zdENoYW5nZWRFcnJvctoWSW5zZWN1cmVSZXF1ZXN0V2FybmluZ9oSTG9jYXRpb25WYWx1ZUVycm9y2g1NYXhSZXRyeUVycm9y2hJOZXdDb25uZWN0aW9uRXJyb3LaDVByb3RvY29sRXJyb3LaClByb3h5RXJyb3LaEFJlYWRUaW1lb3V0RXJyb3LaCFNTTEVycm9y2gxUaW1lb3V0RXJyb3IpAdoDc2l4KQHaBXF1ZXVlKQHaEENlcnRpZmljYXRlRXJyb3IpAdoOUmVxdWVzdE1ldGhvZHMpAdoMSFRUUFJlc3BvbnNlKQHaFWlzX2Nvbm5lY3Rpb25fZHJvcHBlZCkB2h9jb25uZWN0aW9uX3JlcXVpcmVzX2h0dHBfdHVubmVsKQHaCUxpZm9RdWV1ZSkB2hFzZXRfZmlsZV9wb3NpdGlvbikB2hVhc3NlcnRfaGVhZGVyX3BhcnNpbmcpAdoFUmV0cnkpAdoHVGltZW91dCkC2gNVcmzaDl9lbmNvZGVfdGFyZ2V0KQHaD19ub3JtYWxpemVfaG9zdCkC2ghnZXRfaG9zdNoJcGFyc2VfdXJsYwAAAAAAAAAAAAAAAAMAAABAAAAAc0IAAABlAFoBZABaAmQBWgNkAloEZQVaBmQNZANkBIQBWgdkBWQGhABaCGQHZAiEAFoJZAlkCoQAWgpkC2QMhABaC2QCUwApDtoOQ29ubmVjdGlvblBvb2xhOwEAAAogICAgQmFzZSBjbGFzcyBmb3IgYWxsIGNvbm5lY3Rpb24gcG9vbHMsIHN1Y2ggYXMKICAgIDpjbGFzczpgLkhUVFBDb25uZWN0aW9uUG9vbGAgYW5kIDpjbGFzczpgLkhUVFBTQ29ubmVjdGlvblBvb2xgLgoKICAgIC4uIG5vdGU6OgogICAgICAgQ29ubmVjdGlvblBvb2wudXJsb3BlbigpIGRvZXMgbm90IG5vcm1hbGl6ZSBvciBwZXJjZW50LWVuY29kZSB0YXJnZXQgVVJJcwogICAgICAgd2hpY2ggaXMgdXNlZnVsIGlmIHlvdXIgdGFyZ2V0IHNlcnZlciBkb2Vzbid0IHN1cHBvcnQgcGVyY2VudC1lbmNvZGVkCiAgICAgICB0YXJnZXQgVVJJcy4KICAgIE5jAwAAAAAAAAADAAAABAAAAEMAAABzMAAAAHwBcwx0AGQBgwGCAXQBfAF8AGoCZAKNAnwAXwN8AWoEgwB8AF8FfAJ8AF8GZABTACkDTnoSTm8gaG9zdCBzcGVjaWZpZWQuKQHaBnNjaGVtZSkHchMAAAByKQAAAHItAAAA2gRob3N02gVsb3dlctoLX3Byb3h5X2hvc3TaBHBvcnQpA9oEc2VsZnIuAAAAcjEAAACpAHIzAAAA+pMvaG9tZS91ZXRsaHIvRG9jdW1lbnRzL1Nlcm1vUGxvdF9iYWNrZW5kL2RyYWZ0X1NSQU1fYmxhY2tib3gvVUVUUlZfRVNvQ192Mi92ZW52L2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3VybGxpYjMvY29ubmVjdGlvbnBvb2wucHnaCF9faW5pdF9fSgAAAHMKAAAAAAEEAQgCEAEKAXoXQ29ubmVjdGlvblBvb2wuX19pbml0X19jAQAAAAAAAAABAAAABAAAAEMAAABzGAAAAGQBdAB8AIMBagF8AGoCfABqA2YDFgBTACkCTnoUJXMoaG9zdD0lciwgcG9ydD0lcikpBNoEdHlwZdoIX19uYW1lX19yLgAAAHIxAAAAKQFyMgAAAHIzAAAAcjMAAAByNAAAANoHX19zdHJfX1IAAABzAgAAAAABehZDb25uZWN0aW9uUG9vbC5fX3N0cl9fYwEAAAAAAAAAAQAAAAEAAABDAAAAcwQAAAB8AFMAKQFOcjMAAAApAXIyAAAAcjMAAAByMwAAAHI0AAAA2glfX2VudGVyX19VAAAAcwIAAAAAAXoYQ29ubmVjdGlvblBvb2wuX19lbnRlcl9fYwQAAAAAAAAABAAAAAEAAABDAAAAcwwAAAB8AGoAgwABAGQBUwApAk5GKQHaBWNsb3NlKQRyMgAAANoIZXhjX3R5cGVaB2V4Y192YWzaBmV4Y190YnIzAAAAcjMAAAByNAAAANoIX19leGl0X19YAAAAcwQAAAAAAQgCehdDb25uZWN0aW9uUG9vbC5fX2V4aXRfX2MBAAAAAAAAAAEAAAABAAAAQwAAAHMEAAAAZAFTACkCekQKICAgICAgICBDbG9zZSBhbGwgcG9vbGVkIGNvbm5lY3Rpb25zIGFuZCBkaXNhYmxlIHRoZSBwb29sLgogICAgICAgIE5yMwAAACkBcjIAAAByMwAAAHIzAAAAcjQAAAByOgAAAF0AAABzAgAAAAAEehRDb25uZWN0aW9uUG9vbC5jbG9zZSkBTikMcjcAAADaCl9fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHX19kb2NfX3ItAAAAciIAAADaCFF1ZXVlQ2xzcjUAAAByOAAAAHI5AAAAcj0AAAByOgAAAHIzAAAAcjMAAAByMwAAAHI0AAAAciwAAAA8AAAAcxAAAAAICQQCBAEEAgoICAMIAwgFciwAAABjAAAAAAAAAAAAAAAACgAAAEAAAABzugAAAGUAWgFkAFoCZAFaA2QCWgRlBVoGZQdaCGQDZARlCWoKZAVkBGQDZANkA2QDZANmCmQGZAeEAVoLZAhkCYQAWgxkIWQKZAuEAVoNZAxkDYQAWg5kDmQPhABaD2QQZBGEAFoQZBJkE4QAWhFkFGQVhABaEmUTZARmAmQWZBeEAVoUZBhkGYQAWhVkGmQbhABaFmQcZB2EAFoXZANkA2QDZB5kHmUTZANkA2QEZANmCmQfZCCEAVoYZANTACki2hJIVFRQQ29ubmVjdGlvblBvb2xhOgkAAAogICAgVGhyZWFkLXNhZmUgY29ubmVjdGlvbiBwb29sIGZvciBvbmUgaG9zdC4KCiAgICA6cGFyYW0gaG9zdDoKICAgICAgICBIb3N0IHVzZWQgZm9yIHRoaXMgSFRUUCBDb25uZWN0aW9uIChlLmcuICJsb2NhbGhvc3QiKSwgcGFzc2VkIGludG8KICAgICAgICA6Y2xhc3M6YGh0dHAuY2xpZW50LkhUVFBDb25uZWN0aW9uYC4KCiAgICA6cGFyYW0gcG9ydDoKICAgICAgICBQb3J0IHVzZWQgZm9yIHRoaXMgSFRUUCBDb25uZWN0aW9uIChOb25lIGlzIGVxdWl2YWxlbnQgdG8gODApLCBwYXNzZWQKICAgICAgICBpbnRvIDpjbGFzczpgaHR0cC5jbGllbnQuSFRUUENvbm5lY3Rpb25gLgoKICAgIDpwYXJhbSBzdHJpY3Q6CiAgICAgICAgQ2F1c2VzIEJhZFN0YXR1c0xpbmUgdG8gYmUgcmFpc2VkIGlmIHRoZSBzdGF0dXMgbGluZSBjYW4ndCBiZSBwYXJzZWQKICAgICAgICBhcyBhIHZhbGlkIEhUVFAvMS4wIG9yIDEuMSBzdGF0dXMgbGluZSwgcGFzc2VkIGludG8KICAgICAgICA6Y2xhc3M6YGh0dHAuY2xpZW50LkhUVFBDb25uZWN0aW9uYC4KCiAgICAgICAgLi4gbm90ZTo6CiAgICAgICAgICAgT25seSB3b3JrcyBpbiBQeXRob24gMi4gVGhpcyBwYXJhbWV0ZXIgaXMgaWdub3JlZCBpbiBQeXRob24gMy4KCiAgICA6cGFyYW0gdGltZW91dDoKICAgICAgICBTb2NrZXQgdGltZW91dCBpbiBzZWNvbmRzIGZvciBlYWNoIGluZGl2aWR1YWwgY29ubmVjdGlvbi4gVGhpcyBjYW4KICAgICAgICBiZSBhIGZsb2F0IG9yIGludGVnZXIsIHdoaWNoIHNldHMgdGhlIHRpbWVvdXQgZm9yIHRoZSBIVFRQIHJlcXVlc3QsCiAgICAgICAgb3IgYW4gaW5zdGFuY2Ugb2YgOmNsYXNzOmB1cmxsaWIzLnV0aWwuVGltZW91dGAgd2hpY2ggZ2l2ZXMgeW91IG1vcmUKICAgICAgICBmaW5lLWdyYWluZWQgY29udHJvbCBvdmVyIHJlcXVlc3QgdGltZW91dHMuIEFmdGVyIHRoZSBjb25zdHJ1Y3RvciBoYXMKICAgICAgICBiZWVuIHBhcnNlZCwgdGhpcyBpcyBhbHdheXMgYSBgdXJsbGliMy51dGlsLlRpbWVvdXRgIG9iamVjdC4KCiAgICA6cGFyYW0gbWF4c2l6ZToKICAgICAgICBOdW1iZXIgb2YgY29ubmVjdGlvbnMgdG8gc2F2ZSB0aGF0IGNhbiBiZSByZXVzZWQuIE1vcmUgdGhhbiAxIGlzIHVzZWZ1bAogICAgICAgIGluIG11bHRpdGhyZWFkZWQgc2l0dWF0aW9ucy4gSWYgYGBibG9ja2BgIGlzIHNldCB0byBGYWxzZSwgbW9yZQogICAgICAgIGNvbm5lY3Rpb25zIHdpbGwgYmUgY3JlYXRlZCBidXQgdGhleSB3aWxsIG5vdCBiZSBzYXZlZCBvbmNlIHRoZXkndmUKICAgICAgICBiZWVuIHVzZWQuCgogICAgOnBhcmFtIGJsb2NrOgogICAgICAgIElmIHNldCB0byBUcnVlLCBubyBtb3JlIHRoYW4gYGBtYXhzaXplYGAgY29ubmVjdGlvbnMgd2lsbCBiZSB1c2VkIGF0CiAgICAgICAgYSB0aW1lLiBXaGVuIG5vIGZyZWUgY29ubmVjdGlvbnMgYXJlIGF2YWlsYWJsZSwgdGhlIGNhbGwgd2lsbCBibG9jawogICAgICAgIHVudGlsIGEgY29ubmVjdGlvbiBoYXMgYmVlbiByZWxlYXNlZC4gVGhpcyBpcyBhIHVzZWZ1bCBzaWRlIGVmZmVjdCBmb3IKICAgICAgICBwYXJ0aWN1bGFyIG11bHRpdGhyZWFkZWQgc2l0dWF0aW9ucyB3aGVyZSBvbmUgZG9lcyBub3Qgd2FudCB0byB1c2UgbW9yZQogICAgICAgIHRoYW4gbWF4c2l6ZSBjb25uZWN0aW9ucyBwZXIgaG9zdCB0byBwcmV2ZW50IGZsb29kaW5nLgoKICAgIDpwYXJhbSBoZWFkZXJzOgogICAgICAgIEhlYWRlcnMgdG8gaW5jbHVkZSB3aXRoIGFsbCByZXF1ZXN0cywgdW5sZXNzIG90aGVyIGhlYWRlcnMgYXJlIGdpdmVuCiAgICAgICAgZXhwbGljaXRseS4KCiAgICA6cGFyYW0gcmV0cmllczoKICAgICAgICBSZXRyeSBjb25maWd1cmF0aW9uIHRvIHVzZSBieSBkZWZhdWx0IHdpdGggcmVxdWVzdHMgaW4gdGhpcyBwb29sLgoKICAgIDpwYXJhbSBfcHJveHk6CiAgICAgICAgUGFyc2VkIHByb3h5IFVSTCwgc2hvdWxkIG5vdCBiZSB1c2VkIGRpcmVjdGx5LCBpbnN0ZWFkLCBzZWUKICAgICAgICA6Y2xhc3M6YHVybGxpYjMuUHJveHlNYW5hZ2VyYAoKICAgIDpwYXJhbSBfcHJveHlfaGVhZGVyczoKICAgICAgICBBIGRpY3Rpb25hcnkgd2l0aCBwcm94eSBoZWFkZXJzLCBzaG91bGQgbm90IGJlIHVzZWQgZGlyZWN0bHksCiAgICAgICAgaW5zdGVhZCwgc2VlIDpjbGFzczpgdXJsbGliMy5Qcm94eU1hbmFnZXJgCgogICAgOnBhcmFtIFwqKmNvbm5fa3c6CiAgICAgICAgQWRkaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSB1c2VkIHRvIGNyZWF0ZSBmcmVzaCA6Y2xhc3M6YHVybGxpYjMuY29ubmVjdGlvbi5IVFRQQ29ubmVjdGlvbmAsCiAgICAgICAgOmNsYXNzOmB1cmxsaWIzLmNvbm5lY3Rpb24uSFRUUFNDb25uZWN0aW9uYCBpbnN0YW5jZXMuCiAgICDaBGh0dHBORnIFAAAAYwwAAAAAAAAADgAAAAQAAABLAAAAc9YAAAB0AGoBfAB8AXwCgwMB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b3IgYWN0dWFsbHkgYSB0aW1lb3V0PyBXaWxsIHJhaXNlIGEgUmVhZFRpbWVvdXQgb3IgcGFzc3ohUmVhZCB0aW1lZCBvdXQuIChyZWFkIHRpbWVvdXQ9JXMp2gVlcnJub3oJdGltZWQgb3V0ehdkaWQgbm90IGNvbXBsZXRlIChyZWFkKU4pB3JHAAAA2g1Tb2NrZXRUaW1lb3V0chgAAADaB2hhc2F0dHJybAAAANoQX2Jsb2NraW5nX2Vycm5vc9oDc3RyKQRyMgAAANoDZXJy2gN1cmzaDXRpbWVvdXRfdmFsdWVyMwAAAHIzAAAAcjQAAADaDl9yYWlzZV90aW1lb3V0TAEAAHMUAAAAAAMKAQIBDgUUAQIBDgYQAQgCAgF6IUhUVFBDb25uZWN0aW9uUG9vbC5fcmFpc2VfdGltZW91dGMGAAAAAAAAAA0AAABIAAAASwAAAHNuAgAAfAAEAGoAZAE3AAIAXwB8AGoBfASDAX0HfAdqAoMAAQB8B2oDfAFfBHkOfABqBXwBgwEBAFcAbjoEAHQGdAdmAmsKcnABAH0IAQB6GnwAagh8CHwDfAFqBGQCjQMBAIIAVwBZAGQDZAN9CH4IWABuAlgAeSp8BXKKfAFqCXwCfANmAnwGjgEBAG4QfAFqCnwCfANmAnwGjgEBAFcAbkwEAHQLawpysAEAAQABAFkAbjoEAHQMawpy6AEAfQgBAHoefAhqDXQNag50DWoPdA1qEGgDawdy2IIAVwBZAGQDZAN9CH4IWABuAlgAfAdqEX0JdBJ8AWQEZAODA5ABckJ8CWQFawKQAXIYdBN8AHwDZAZ8CRYAgwOCAXwJdBRqFWsIkAFyNnwBahZqF3QYahmDAIMBAQBuDHwBahZqF3wJgwEBAHlqeRB8AWoaZAdkCI0BfQpXAG5UBAB0G2sKkAFyqAEAAQABAHkMfAFqGoMAfQpXAG4wBAB0HGsKkAFyogEAfQgBAHoSdB1qHnwIZAODAgEAVwBZAGQDZAN9CH4IWABuAlgAWQBuAlgAVwBuPAQAdAZ0B3QfZgNrCpABcugBAH0IAQB6GHwAagh8CHwDfAlkAo0DAQCCAFcAWQBkA2QDfQh+CFgAbgJYAHQSfAFkCWQKgwN9C3QgaiFkC3wAaiJ8AGojfABqJHwCfAN8C3wKaiV8CmomgwkBAHkOdCd8CmoogwEB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fBBkCGQBgwMMAH0WfBaQAXIkfBKQAXIkfABqG3wQgwEBAHwAahx8EHwBfAJ8FXwDfAR8C2QJjQd9F3wKkAFzRnwQbgJkAX0YfAF8DWQKPAB8AGodah58F2YBfAB8GHwFZAucA3wNlwKOAX0ZZAR9FFcAbtQEAHQfawqQAXKUAQABAAEAZAR9FGQGfRGCAFkAbrYEAHQgdCF0InQjdCR0JXQmZgdrCpACckgBAH0aAQB6imQGfRR0A3wadCR0JmYCgwKQAXLSdCV8GoMBfRpuPnQDfBp0InQnZgKDApABcvZ8AGoQkAFy9nQoZAx8GoMCfRpuGnQDfBp0InQhZgKDApACchB0I2QNfBqDAn0afAVqKXwBfAJ8GnwAdCpqK4MAZA4ZAGQPjQV9BXwFaiyDAAEAfBp9E1cAWQBkAWQBfRp+GlgAbgJYAFcAZAF8FJACc2Z8EJACb2B8EGotgwB9EGQEfRF8EZACcnZ8AGoufBCDAQEAWAB8EJACc7h0L2owZBB8BXwTfAKDBAEAfABqMXwBfAJ8A3wEfAV8BnwHZgd8CHwJfAp8C3wMZBGcBXwNlwKOAVMAfAaQAm/EfBlqMoMAfRt8G5ADcmZ8GWozZBJrApACctxkE30BeRZ8BWopfAF8AnwZfABkFI0EfQVXAG4oBAB0NGsKkANyGgEAAQABAHwFajWQA3IWfBlqNoMAAQCCAHwZUwBYAHwZajaDAAEAfAVqN3wZgwEBAHQvajhkFXwCfBuDAwEAfABqMXwBfBt8A3wEZgR8BXwGfAd8CHwJfAp8C3wMZBacCHwNlwKOAVMAdDl8GWo6ZBeDAYMBfRx8BWo7fAF8GWozfByDA5AEcg55FnwFail8AXwCfBl8AGQUjQR9BVcAbigEAHQ0awqQA3LEAQABAAEAfAVqPJADcsB8GWo2gwABAIIAfBlTAFgAfBlqNoMAAQB8BWosfBmDAQEAdC9qOGQYfAKDAgEAfABqMXwBfAJ8A3wEZgR8BXwGfAd8CHwJfAp8C3wMZBacCHwNlwKOAVMAfBlTACkZYSsQAAAKICAgICAgICBHZXQgYSBjb25uZWN0aW9uIGZyb20gdGhlIHBvb2wgYW5kIHBlcmZvcm0gYW4gSFRUUCByZXF1ZXN0LiBUaGlzIGlzIHRoZQogICAgICAgIGxvd2VzdCBsZXZlbCBjYWxsIGZvciBtYWtpbmcgYSByZXF1ZXN0LCBzbyB5b3UnbGwgbmVlZCB0byBzcGVjaWZ5IGFsbAogICAgICAgIHRoZSByYXcgZGV0YWlscy4KCiAgICAgICAgLi4gbm90ZTo6CgogICAgICAgICAgIE1vcmUgY29tbW9ubHksIGl0J3MgYXBwcm9wcmlhdGUgdG8gdXNlIGEgY29udmVuaWVuY2UgbWV0aG9kIHByb3ZpZGVkCiAgICAgICAgICAgYnkgOmNsYXNzOmAuUmVxdWVzdE1ldGhvZHNgLCBzdWNoIGFzIDptZXRoOmByZXF1ZXN0YC4KCiAgICAgICAgLi4gbm90ZTo6CgogICAgICAgICAgIGByZWxlYXNlX2Nvbm5gIHdpbGwgb25seSBiZWhhdmUgYXMgZXhwZWN0ZWQgaWYKICAgICAgICAgICBgcHJlbG9hZF9jb250ZW50PUZhbHNlYCBiZWNhdXNlIHdlIHdhbnQgdG8gbWFrZQogICAgICAgICAgIGBwcmVsb2FkX2NvbnRlbnQ9RmFsc2VgIHRoZSBkZWZhdWx0IGJlaGF2aW91ciBzb21lZGF5IHNvb24gd2l0aG91dAogICAgICAgICAgIGJyZWFraW5nIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgoKICAgICAgICA6cGFyYW0gbWV0aG9kOgogICAgICAgICAgICBIVFRQIHJlcXVlc3QgbWV0aG9kIChzdWNoIGFzIEdFVCwgUE9TVCwgUFVULCBldGMuKQoKICAgICAgICA6cGFyYW0gdXJsOgogICAgICAgICAgICBUaGUgVVJMIHRvIHBlcmZvcm0gdGhlIHJlcXVlc3Qgb24uCgogICAgICAgIDpwYXJhbSBib2R5OgogICAgICAgICAgICBEYXRhIHRvIHNlbmQgaW4gdGhlIHJlcXVlc3QgYm9keSwgZWl0aGVyIDpjbGFzczpgc3RyYCwgOmNsYXNzOmBieXRlc2AsCiAgICAgICAgICAgIGFuIGl0ZXJhYmxlIG9mIDpjbGFzczpgc3RyYC86Y2xhc3M6YGJ5dGVzYCwgb3IgYSBmaWxlLWxpa2Ugb2JqZWN0LgoKICAgICAgICA6cGFyYW0gaGVhZGVyczoKICAgICAgICAgICAgRGljdGlvbmFyeSBvZiBjdXN0b20gaGVhZGVycyB0byBzZW5kLCBzdWNoIGFzIFVzZXItQWdlbnQsCiAgICAgICAgICAgIElmLU5vbmUtTWF0Y2gsIGV0Yy4gSWYgTm9uZSwgcG9vbCBoZWFkZXJzIGFyZSB1c2VkLiBJZiBwcm92aWRlZCwKICAgICAgICAgICAgdGhlc2UgaGVhZGVycyBjb21wbGV0ZWx5IHJlcGxhY2UgYW55IHBvb2wtc3BlY2lmaWMgaGVhZGVycy4KCiAgICAgICAgOnBhcmFtIHJldHJpZXM6CiAgICAgICAgICAgIENvbmZpZ3VyZSB0aGUgbnVtYmVyIG9mIHJldHJpZXMgdG8gYWxsb3cgYmVmb3JlIHJhaXNpbmcgYQogICAgICAgICAgICA6Y2xhc3M6YH51cmxsaWIzLmV4Y2VwdGlvbnMuTWF4UmV0cnlFcnJvcmAgZXhjZXB0aW9uLgoKICAgICAgICAgICAgUGFzcyBgYE5vbmVgYCB0byByZXRyeSB1bnRpbCB5b3UgcmVjZWl2ZSBhIHJlc3BvbnNlLiBQYXNzIGEKICAgICAgICAgICAgOmNsYXNzOmB+dXJsbGliMy51dGlsLnJldHJ5LlJldHJ5YCBvYmplY3QgZm9yIGZpbmUtZ3JhaW5lZCBjb250cm9sCiAgICAgICAgICAgIG92ZXIgZGlmZmVyZW50IHR5cGVzIG9mIHJldHJpZXMuCiAgICAgICAgICAgIFBhc3MgYW4gaW50ZWdlciBudW1iZXIgdG8gcmV0cnkgY29ubmVjdGlvbiBlcnJvcnMgdGhhdCBtYW55IHRpbWVzLAogICAgICAgICAgICBidXQgbm8gb3RoZXIgdHlwZXMgb2YgZXJyb3JzLiBQYXNzIHplcm8gdG8gbmV2ZXIgcmV0cnkuCgogICAgICAgICAgICBJZiBgYEZhbHNlYGAsIHRoZW4gcmV0cmllcyBhcmUgZGlzYWJsZWQgYW5kIGFueSBleGNlcHRpb24gaXMgcmFpc2VkCiAgICAgICAgICAgIGltbWVkaWF0ZWx5LiBBbHNvLCBpbnN0ZWFkIG9mIHJhaXNpbmcgYSBNYXhSZXRyeUVycm9yIG9uIHJlZGlyZWN0cywKICAgICAgICAgICAgdGhlIHJlZGlyZWN0IHJlc3BvbnNlIHdpbGwgYmUgcmV0dXJuZWQuCgogICAgICAgIDp0eXBlIHJldHJpZXM6IDpjbGFzczpgfnVybGxpYjMudXRpbC5yZXRyeS5SZXRyeWAsIEZhbHNlLCBvciBhbiBpbnQuCgogICAgICAgIDpwYXJhbSByZWRpcmVjdDoKICAgICAgICAgICAgSWYgVHJ1ZSwgYXV0b21hdGljYWxseSBoYW5kbGUgcmVkaXJlY3RzIChzdGF0dXMgY29kZXMgMzAxLCAzMDIsCiAgICAgICAgICAgIDMwMywgMzA3LCAzMDgpLiBFYWNoIHJlZGlyZWN0IGNvdW50cyBhcyBhIHJldHJ5LiBEaXNhYmxpbmcgcmV0cmllcwogICAgICAgICAgICB3aWxsIGRpc2FibGUgcmVkaXJlY3QsIHRvby4KCiAgICAgICAgOnBhcmFtIGFzc2VydF9zYW1lX2hvc3Q6CiAgICAgICAgICAgIElmIGBgVHJ1ZWBgLCB3aWxsIG1ha2Ugc3VyZSB0aGF0IHRoZSBob3N0IG9mIHRoZSBwb29sIHJlcXVlc3RzIGlzCiAgICAgICAgICAgIGNvbnNpc3RlbnQgZWxzZSB3aWxsIHJhaXNlIEhvc3RDaGFuZ2VkRXJyb3IuIFdoZW4gYGBGYWxzZWBgLCB5b3UgY2FuCiAgICAgICAgICAgIHVzZSB0aGUgcG9vbCBvbiBhbiBIVFRQIHByb3h5IGFuZCByZXF1ZXN0IGZvcmVpZ24gaG9zdHMuCgogICAgICAgIDpwYXJhbSB0aW1lb3V0OgogICAgICAgICAgICBJZiBzcGVjaWZpZWQsIG92ZXJyaWRlcyB0aGUgZGVmYXVsdCB0aW1lb3V0IGZvciB0aGlzIG9uZQogICAgICAgICAgICByZXF1ZXN0LiBJdCBtYXkgYmUgYSBmbG9hdCAoaW4gc2Vjb25kcykgb3IgYW4gaW5zdGFuY2Ugb2YKICAgICAgICAgICAgOmNsYXNzOmB1cmxsaWIzLnV0aWwuVGltZW91dGAuCgogICAgICAgIDpwYXJhbSBwb29sX3RpbWVvdXQ6CiAgICAgICAgICAgIElmIHNldCBhbmQgdGhlIHBvb2wgaXMgc2V0IHRvIGJsb2NrPVRydWUsIHRoZW4gdGhpcyBtZXRob2Qgd2lsbAogICAgICAgICAgICBibG9jayBmb3IgYGBwb29sX3RpbWVvdXRgYCBzZWNvbmRzIGFuZCByYWlzZSBFbXB0eVBvb2xFcnJvciBpZiBubwogICAgICAgICAgICBjb25uZWN0aW9uIGlzIGF2YWlsYWJsZSB3aXRoaW4gdGhlIHRpbWUgcGVyaW9kLgoKICAgICAgICA6cGFyYW0gcmVsZWFzZV9jb25uOgogICAgICAgICAgICBJZiBGYWxzZSwgdGhlbiB0aGUgdXJsb3BlbiBjYWxsIHdpbGwgbm90IHJlbGVhc2UgdGhlIGNvbm5lY3Rpb24KICAgICAgICAgICAgYmFjayBpbnRvIHRoZSBwb29sIG9uY2UgYSByZXNwb25zZSBpcyByZWNlaXZlZCAoYnV0IHdpbGwgcmVsZWFzZSBpZgogICAgICAgICAgICB5b3UgcmVhZCB0aGUgZW50aXJlIGNvbnRlbnRzIG9mIHRoZSByZXNwb25zZSBzdWNoIGFzIHdoZW4KICAgICAgICAgICAgYHByZWxvYWRfY29udGVudD1UcnVlYCkuIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSdyZSBub3QgcHJlbG9hZGluZwogICAgICAgICAgICB0aGUgcmVzcG9uc2UncyBjb250ZW50IGltbWVkaWF0ZWx5LiBZb3Ugd2lsbCBuZWVkIHRvIGNhbGwKICAgICAgICAgICAgYGByLnJlbGVhc2VfY29ubigpYGAgb24gdGhlIHJlc3BvbnNlIGBgcmBgIHRvIHJldHVybiB0aGUgY29ubmVjdGlvbgogICAgICAgICAgICBiYWNrIGludG8gdGhlIHBvb2wuIElmIE5vbmUsIGl0IHRha2VzIHRoZSB2YWx1ZSBvZgogICAgICAgICAgICBgYHJlc3BvbnNlX2t3LmdldCgncHJlbG9hZF9jb250ZW50JywgVHJ1ZSlgYC4KCiAgICAgICAgOnBhcmFtIGNodW5rZWQ6CiAgICAgICAgICAgIElmIFRydWUsIHVybGxpYjMgd2lsbCBzZW5kIHRoZSBib2R5IHVzaW5nIGNodW5rZWQgdHJhbnNmZXIKICAgICAgICAgICAgZW5jb2RpbmcuIE90aGVyd2lzZSwgdXJsbGliMyB3aWxsIHNlbmQgdGhlIGJvZHkgdXNpbmcgdGhlIHN0YW5kYXJkCiAgICAgICAgICAgIGNvbnRlbnQtbGVuZ3RoIGZvcm0uIERlZmF1bHRzIHRvIEZhbHNlLgoKICAgICAgICA6cGFyYW0gaW50IGJvZHlfcG9zOgogICAgICAgICAgICBQb3NpdGlvbiB0byBzZWVrIHRvIGluIGZpbGUtbGlrZSBib2R5IGluIHRoZSBldmVudCBvZiBhIHJldHJ5IG9yCiAgICAgICAgICAgIHJlZGlyZWN0LiBUeXBpY2FsbHkgdGhpcyB3b24ndCBuZWVkIHRvIGJlIHNldCBiZWNhdXNlIHVybGxpYjMgd2lsbAogICAgICAgICAgICBhdXRvLXBvcHVsYXRlIHRoZSB2YWx1ZSB3aGVuIG5lZWRlZC4KCiAgICAgICAgOnBhcmFtIFwqKnJlc3BvbnNlX2t3OgogICAgICAgICAgICBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHBhc3NlZCB0bwogICAgICAgICAgICA6bWV0aDpgdXJsbGliMy5yZXNwb25zZS5IVFRQUmVzcG9uc2UuZnJvbV9odHRwbGliYAogICAgICAgIE4pAtoIcmVkaXJlY3TaB2RlZmF1bHRaD3ByZWxvYWRfY29udGVudFRykAAAAEYpAXIEAAAAcnUAAAApBHIEAAAA2gRib2R5clUAAAByigAAAFoOcmVxdWVzdF9tZXRob2QpA3JLAAAA2gpjb25uZWN0aW9uckoAAAB6GENhbm5vdCBjb25uZWN0IHRvIHByb3h5LnoTQ29ubmVjdGlvbiBhYm9ydGVkLukCAAAAKQNyAwAAANoFX3Bvb2xaC19zdGFja3RyYWNlejFSZXRyeWluZyAoJXIpIGFmdGVyIGNvbm5lY3Rpb24gYnJva2VuIGJ5ICclcic6ICVzKQVyBAAAANoMcG9vbF90aW1lb3V02gxyZWxlYXNlX2Nvbm5yigAAANoIYm9keV9wb3NpLwEAAFoDR0VUKQLaCHJlc3BvbnNlcpgAAAB6FFJlZGlyZWN0aW5nICVzIC0+ICVzKQhySgAAAHKTAAAA2hBhc3NlcnRfc2FtZV9ob3N0cgQAAABymQAAAHKaAAAAcooAAABymwAAAHoLUmV0cnktQWZ0ZXJ6CVJldHJ5OiAlcyk9cisAAAByLQAAAHJVAAAAckcAAAByJQAAAFoIZnJvbV9pbnRySgAA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