bw0NCgAAAACiNI1jqg0AAOMAAAAAAAAAAAAAAAAAAAAAAwAAAEAAAABzXAAAAGQAWgBkAWQCbAFaAWQBZAJsAloCZAFkAmwDWgNkAWQDbARtBVoFbQZaBgEAZAFkBGwHbQhaCAEAZAFkBWwJbQpaCgEAZAtkB2QIhAFaC2QMZAlkCoQBWgxkAlMAKQ167GRpc3R1dGlscy5zcGF3bgoKUHJvdmlkZXMgdGhlICdzcGF3bigpJyBmdW5jdGlvbiwgYSBmcm9udC1lbmQgdG8gdmFyaW91cyBwbGF0Zm9ybS0Kc3BlY2lmaWMgZnVuY3Rpb25zIGZvciBsYXVuY2hpbmcgYW5vdGhlciBwcm9ncmFtIGluIGEgc3ViLXByb2Nlc3MuCkFsc28gcHJvdmlkZXMgdGhlICdmaW5kX2V4ZWN1dGFibGUoKScgdG8gc2VhcmNoIHRoZSBwYXRoIGZvciBhIGdpdmVuCmV4ZWN1dGFibGUgbmFtZS4K6QAAAABOKQLaFkRpc3R1dGlsc1BsYXRmb3JtRXJyb3LaEkRpc3R1dGlsc0V4ZWNFcnJvcikB2gVERUJVRykB2gNsb2fpAQAAAGMFAAAAAAAAAAAAAAAMAAAACgAAAEMAAABzBAEAAHQAfACDAX0AdAGgAnQDoAR8AKEBoQEBAHwDchBkAVMAfAFyIHQFfABkAhkAgwF9BXwFZAF1AXIgfAV8AGQCPAB8BGQBdQFyJnwEbgR0BnQHagiDAX0EdAlqCmQDawJyQWQCZARsC20MfQZtDX0HAQB8B4MAfQh8CHJBfAh8BHwGPAB6EHQDag58AHwEZAWNAn0JfAmgD6EAAQB8CWoQfQpXAG4eBAB0EXlvAQB9CwEAehJ0EnNffABkAhkAfQB0E2QGfAB8C2oUZAcZAGYCFgCDAXwLggJkAX0Lfgt3AXcAfApygHQSc3h8AGQCGQB9AHQTZAh8AHwKZgIWAIMBggFkAVMAKQlhjwIAAFJ1biBhbm90aGVyIHByb2dyYW0sIHNwZWNpZmllZCBhcyBhIGNvbW1hbmQgbGlzdCAnY21kJywgaW4gYSBuZXcgcHJvY2Vzcy4KCiAgICAnY21kJyBpcyBqdXN0IHRoZSBhcmd1bWVudCBsaXN0IGZvciB0aGUgbmV3IHByb2Nlc3MsIGllLgogICAgY21kWzBdIGlzIHRoZSBwcm9ncmFtIHRvIHJ1biBhbmQgY21kWzE6XSBhcmUgdGhlIHJlc3Qgb2YgaXRzIGFyZ3VtZW50cy4KICAgIFRoZXJlIGlzIG5vIHdheSB0byBydW4gYSBwcm9ncmFtIHdpdGggYSBuYW1lIGRpZmZlcmVudCBmcm9tIHRoYXQgb2YgaXRzCiAgICBleGVjdXRhYmxlLgoKICAgIElmICdzZWFyY2hfcGF0aCcgaXMgdHJ1ZSAodGhlIGRlZmF1bHQpLCB0aGUgc3lzdGVtJ3MgZXhlY3V0YWJsZQogICAgc2VhcmNoIHBhdGggd2lsbCBiZSB1c2VkIHRvIGZpbmQgdGhlIHByb2dyYW07IG90aGVyd2lzZSwgY21kWzBdCiAgICBtdXN0IGJlIHRoZSBleGFjdCBwYXRoIHRvIHRoZSBleGVjdXRhYmxlLiAgSWYgJ2RyeV9ydW4nIGlzIHRydWUsCiAgICB0aGUgY29tbWFuZCB3aWxsIG5vdCBhY3R1YWxseSBiZSBydW4uCgogICAgUmFpc2UgRGlzdHV0aWxzRXhlY0Vycm9yIGlmIHJ1bm5pbmcgdGhlIHByb2dyYW0gZmFpbHMgaW4gYW55IHdheTsganVzdAogICAgcmV0dXJuIG9uIHN1Y2Nlc3MuCiAgICBOcgEAAADaBmRhcndpbikC2hJNQUNPU1hfVkVSU0lPTl9WQVLaFWdldF9tYWNvc3hfdGFyZ2V0X3ZlcikB2gNlbnZ6FWNvbW1hbmQgJXIgZmFpbGVkOiAlc+n/////eiNjb21tYW5kICVyIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAlcykV2gRsaXN0cgUAAADaBGluZm/aCnN1YnByb2Nlc3PaDGxpc3QyY21kbGluZdoPZmluZF9leGVjdXRhYmxl2gRkaWN02gJvc9oHZW52aXJvbtoDc3lz2ghwbGF0Zm9ybdoOZGlzdHV0aWxzLnV0aWxyCAAAAHIJAAAA2gVQb3BlbtoEd2FpdNoKcmV0dXJuY29kZdoHT1NFcnJvcnIEAAAAcgMAAADaBGFyZ3MpDNoDY21k2gtzZWFyY2hfcGF0aNoHdmVyYm9zZdoHZHJ5X3J1bnIKAAAA2gpleGVjdXRhYmxlcggAAAByCQAAANoRbWFjb3N4X3RhcmdldF92ZXLaBHByb2PaCGV4aXRjb2Rl2gNleGOpAHIlAAAA+mYvcm9vdC9nZjE4MC1kZW1vL2NhcmF2ZWxfdXNlcl9wcm9qZWN0L3ZlbnYvbGliL3B5dGhvbjMuMTAvc2l0ZS1wYWNrYWdlcy9zZXR1cHRvb2xzL19kaXN0dXRpbHMvc3Bhd24ucHnaBXNwYXduEgAAAHNGAAAACBIQAgQBBAEEAgwBCAEIARYCCgIQAQYBBAEIAQICDgEIAQoBDgEEAQgBAgEQAQL/AgEC/wiAAv0EBgQBCAECAQoBBP8E/XInAAAAYwIAAAAAAAAAAAAAAAcAAAAJAAAAQwAAAHPIAAAAdABqAaACfAChAVwCfQJ9A3QDagRkAWsCchV8A2QCawNyFXwAZAIXAH0AdABqAaAFfAChAXIdfABTAHwBZAN1AHJCdABqBqAHZARkA6ECfQF8AWQDdQByQnoHdACgCGQFoQF9AVcAbg4EAHQJdApmAnlBAQABAAEAdABqC30BWQBuAXcAfAFzRmQDUwB8AaAMdABqDaEBfQR8BEQAXRN9BXQAagGgDnwFfAChAn0GdABqAaAFfAahAXJhfAYCAAEAUwBxTmQDUwApBnraVHJpZXMgdG8gZmluZCAnZXhlY3V0YWJsZScgaW4gdGhlIGRpcmVjdG9yaWVzIGxpc3RlZCBpbiAncGF0aCcuCgogICAgQSBzdHJpbmcgbGlzdGluZyBkaXJlY3RvcmllcyBzZXBhcmF0ZWQgYnkgJ29zLnBhdGhzZXAnOyBkZWZhdWx0cyB0bwogICAgb3MuZW52aXJvblsnUEFUSCddLiAgUmV0dXJucyB0aGUgY29tcGxldGUgZmlsZW5hbWUgb3IgTm9uZSBpZiBub3QgZm91bmQuCiAgICDaBXdpbjMyegQuZXhlTtoEUEFUSNoHQ1NfUEFUSCkPchIAAADaBHBhdGjaCHNwbGl0ZXh0chQAAAByFQAAANoGaXNmaWxlchMAAADaA2dldNoHY29uZnN0ctoOQXR0cmlidXRlRXJyb3LaClZhbHVlRXJyb3LaB2RlZnBhdGjaBXNwbGl02gdwYXRoc2Vw2gRqb2luKQdyIAAAAHIrAAAA2gFf2gNleHTaBXBhdGhz2gFw2gFmciUAAAByJQAAAHImAAAAchAAAABIAAAAcywAAAAQBhIBCAEMAgQBCAIOAQgBAgEOARABCgIC/gQHBAEMAggBDgEMAQgCAv4EA3IQAAAAKQRyBgAAAHIBAAAAcgEAAABOKQFOKQ3aB19fZG9jX19yFAAAAHISAAAAcg4AAADaEGRpc3R1dGlscy5lcnJvcnNyAgAAAHIDAAAA2g9kaXN0dXRpbHMuZGVidWdyBAAAANoJZGlzdHV0aWxzcgUAAAByJwAAAHIQAAAAciUAAAByJQAAAHIlAAAAciYAAADaCDxtb2R1bGU+AQAAAHMSAAAABAAICAgBCAEQAgwBDAEKAw42