Mw0NCn2EhGMbEAAA4wAAAAAAAAAAAAAAAA4AAABAAAAAc5gAAABkAGQBbABtAVoBAQBkAGQCbAJtA1oDAQBkA2QEbARtBVoFAQBkA2QFbAZtB1oHbQhaCAEAZAZaCWUKZAdkCGQJZwODAVoLZApaDHkMZABkC2wNWg5XAG4UBABlD2sKcmoBAAEAAQBZAG4KWABlDGQMNwBaDGUQgwBaEWQTZA1kDoQBWhJkD2QQhABaE2QRZBKEAFoUZAtTACkU6QAAAAApAdoPYWJzb2x1dGVfaW1wb3J0KQHaCWI2NGVuY29kZekCAAAAKQHaFVVucmV3aW5kYWJsZUJvZHlFcnJvcikC2gFi2g1pbnRlZ2VyX3R5cGVzehFAQEBTS0lQX0hFQURFUkBAQHoPYWNjZXB0LWVuY29kaW5n2gRob3N0egp1c2VyLWFnZW50egxnemlwLGRlZmxhdGVOegMsYnJjBgAAAAAAAAAHAAAABAAAAEMAAABzmgAAAGkAfQZ8AXI2dAB8AXQBgwJyFG4adAB8AXQCgwJyKmQBagN8AYMBfQFuBHQEfQF8AXwGZAI8AHwCckJ8AnwGZAM8AHwAck5kBHwGZAU8AHwDcmxkBnQFdAZ8A4MBgwFqB2QHgwEXAHwGZAg8AHwEcopkBnQFdAZ8BIMBgwFqB2QHgwEXAHwGZAk8AHwFcpZkCnwGZAs8AHwGUwApDGELBAAACiAgICBTaG9ydGN1dHMgZm9yIGdlbmVyYXRpbmcgcmVxdWVzdCBoZWFkZXJzLgoKICAgIDpwYXJhbSBrZWVwX2FsaXZlOgogICAgICAgIElmIGBgVHJ1ZWBgLCBhZGRzICdjb25uZWN0aW9uOiBrZWVwLWFsaXZlJyBoZWFkZXIuCgogICAgOnBhcmFtIGFjY2VwdF9lbmNvZGluZzoKICAgICAgICBDYW4gYmUgYSBib29sZWFuLCBsaXN0LCBvciBzdHJpbmcuCiAgICAgICAgYGBUcnVlYGAgdHJhbnNsYXRlcyB0byAnZ3ppcCxkZWZsYXRlJy4KICAgICAgICBMaXN0IHdpbGwgZ2V0IGpvaW5lZCBieSBjb21tYS4KICAgICAgICBTdHJpbmcgd2lsbCBiZSB1c2VkIGFzIHByb3ZpZGVkLgoKICAgIDpwYXJhbSB1c2VyX2FnZW50OgogICAgICAgIFN0cmluZyByZXByZXNlbnRpbmcgdGhlIHVzZXItYWdlbnQgeW91IHdhbnQsIHN1Y2ggYXMKICAgICAgICAicHl0aG9uLXVybGxpYjMvMC42IgoKICAgIDpwYXJhbSBiYXNpY19hdXRoOgogICAgICAgIENvbG9uLXNlcGFyYXRlZCB1c2VybmFtZTpwYXNzd29yZCBzdHJpbmcgZm9yICdhdXRob3JpemF0aW9uOiBiYXNpYyAuLi4nCiAgICAgICAgYXV0aCBoZWFkZXIuCgogICAgOnBhcmFtIHByb3h5X2Jhc2ljX2F1dGg6CiAgICAgICAgQ29sb24tc2VwYXJhdGVkIHVzZXJuYW1lOnBhc3N3b3JkIHN0cmluZyBmb3IgJ3Byb3h5LWF1dGhvcml6YXRpb246IGJhc2ljIC4uLicKICAgICAgICBhdXRoIGhlYWRlci4KCiAgICA6cGFyYW0gZGlzYWJsZV9jYWNoZToKICAgICAgICBJZiBgYFRydWVgYCwgYWRkcyAnY2FjaGUtY29udHJvbDogbm8tY2FjaGUnIGhlYWRlci4KCiAgICBFeGFtcGxlOjoKCiAgICAgICAgPj4+IG1ha2VfaGVhZGVycyhrZWVwX2FsaXZlPVRydWUsIHVzZXJfYWdlbnQ9IkJhdG1hbi8xLjAiKQogICAgICAgIHsnY29ubmVjdGlvbic6ICdrZWVwLWFsaXZlJywgJ3VzZXItYWdlbnQnOiAnQmF0bWFuLzEuMCd9CiAgICAgICAgPj4+IG1ha2VfaGVhZGVycyhhY2NlcHRfZW5jb2Rpbmc9VHJ1ZSkKICAgICAgICB7J2FjY2VwdC1lbmNvZGluZyc6ICdnemlwLGRlZmxhdGUnfQogICAg+gEseg9hY2NlcHQtZW5jb2Rpbmd6CnVzZXItYWdlbnR6CmtlZXAtYWxpdmXaCmNvbm5lY3Rpb256BkJhc2ljIHoFdXRmLThaDWF1dGhvcml6YXRpb256E3Byb3h5LWF1dGhvcml6YXRpb256CG5vLWNhY2hleg1jYWNoZS1jb250cm9sKQjaCmlzaW5zdGFuY2XaA3N0ctoEbGlzdNoEam9pbtoPQUNDRVBUX0VOQ09ESU5HcgMAAAByBgAAANoGZGVjb2RlKQdaCmtlZXBfYWxpdmVaD2FjY2VwdF9lbmNvZGluZ1oKdXNlcl9hZ2VudFoKYmFzaWNfYXV0aFoQcHJveHlfYmFzaWNfYXV0aFoNZGlzYWJsZV9jYWNoZdoHaGVhZGVyc6kAchIAAAD6kS9ob21lL3VldGxoci9Eb2N1bWVudHMvU2VybW9QbG90X2JhY2tlbmQvZHJhZnRfU1JBTV9ibGFja2JveC9VRVRSVl9FU29DX3YyL3ZlbnYvbGliNjQvcHl0aG9uMy42L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvdXJsbGliMy91dGlsL3JlcXVlc3QucHnaDG1ha2VfaGVhZGVycxoAAABzKgAAAAAqBAEEAQoBAgEKAQwCBAEIAgQBCAIEAQgCBAEaAgQBBAEKAQwCBAEIAnIUAAAAYwIAAAAAAAAAAgAAAAwAAABDAAAAc1IAAAB8AWQBawlyFHQAfAB8AYMCAQBuOnQBfABkAmQBgwNkAWsJck55DHwAagKDAH0BVwBuHAQAdAN0BGYCawpyTAEAAQABAHQFfQFZAG4CWAB8AVMAKQN6fwogICAgSWYgYSBwb3NpdGlvbiBpcyBwcm92aWRlZCwgbW92ZSBmaWxlIHRvIHRoYXQgcG9pbnQuCiAgICBPdGhlcndpc2UsIHdlJ2xsIGF0dGVtcHQgdG8gcmVjb3JkIGEgcG9zaXRpb24gZm9yIGZ1dHVyZSB1c2UuCiAgICBO2gR0ZWxsKQbaC3Jld2luZF9ib2R52gdnZXRhdHRychUAAADaB0lPRXJyb3LaB09TRXJyb3LaC19GQUlMRURURUxMKQLaBGJvZHnaA3Bvc3ISAAAAchIAAAByEwAAANoRc2V0X2ZpbGVfcG9zaXRpb25iAAAAcxAAAAAABQgBDAEQAQIBDAESAwoCch0AAABjAgAAAAAAAAADAAAADAAAAEMAAABzdAAAAHQAfABkAWQCgwN9AnwCZAJrCXJOdAF8AXQCgwJyTnkMfAJ8AYMBAQBXAHFwBAB0A3QEZgJrCnJKAQABAAEAdAVkA4MBggFZAHFwWABuInwBdAZrCHJgdAVkBIMBggFuEHQHZAV0CHwBgwEWAIMBggFkAlMAKQZ65gogICAgQXR0ZW1wdCB0byByZXdpbmQgYm9keSB0byBhIGNlcnRhaW4gcG9zaXRpb24uCiAgICBQcmltYXJpbHkgdXNlZCBmb3IgcmVxdWVzdCByZWRpcmVjdHMgYW5kIHJldHJpZXMuCgogICAgOnBhcmFtIGJvZHk6CiAgICAgICAgRmlsZS1saWtlIG9iamVjdCB0aGF0IHN1cHBvcnRzIHNlZWsuCgogICAgOnBhcmFtIGludCBwb3M6CiAgICAgICAgUG9zaXRpb24gdG8gc2VlayB0byBpbiBmaWxlLgogICAg2gRzZWVrTnpBQW4gZXJyb3Igb2NjdXJyZWQgd2hlbiByZXdpbmRpbmcgcmVxdWVzdCBib2R5IGZvciByZWRpcmVjdC9yZXRyeS56UlVuYWJsZSB0byByZWNvcmQgZmlsZSBwb3NpdGlvbiBmb3IgcmV3aW5kaW5nIHJlcXVlc3QgYm9keSBkdXJpbmcgYSByZWRpcmVjdC9yZXRyeS56NGJvZHlfcG9zIG11c3QgYmUgb2YgdHlwZSBpbnRlZ2VyLCBpbnN0ZWFkIGl0IHdhcyAlcy4pCXIXAAAAcgsAAAByBwAAAHIYAAAAchkAAAByBQAAAHIaAAAA2gpWYWx1ZUVycm9y2gR0eXBlKQNyGwAAANoIYm9keV9wb3NaCWJvZHlfc2Vla3ISAAAAchIAAAByEwAAAHIWAAAAdAAAAHMYAAAAAAsMARIBAgEMARIBAgEOAggBAgEIBAIBchYAAAApBk5OTk5OTikV2gpfX2Z1dHVyZV9fcgIAAADaBmJhc2U2NHIDAAAA2gpleGNlcHRpb25zcgUAAABaDHBhY2thZ2VzLnNpeHIGAAAAcgcAAADaC1NLSVBfSEVBREVS2glmcm96ZW5zZXTaEVNLSVBQQUJMRV9IRUFERVJTcg8AAABaBmJyb3RsaVoVX3VudXNlZF9tb2R1bGVfYnJvdGxp2gtJbXBvcnRFcnJvctoGb2JqZWN0choAAAByFAAAAHIdAAAAchYAAAByEgAAAHISAAAAchIAAAByEwAAANoIPG1vZHVsZT4BAAAAcygAAAAMAgwCDAEQBgQBDgIEAQIBDAEOAQYCCAIGBAABAAEAAQABAAEKQggS