gASVK9UAAAAAAACMDmRvY3V0aWxzLm5vZGVzlIwIZG9jdW1lbnSUk5QpgZR9lCiMCXJhd3NvdXJjZZSMAJSMCGNoaWxkcmVulF2UKGgAjAZ0YXJnZXSUk5QpgZR9lChoBWgGaAddlIwKYXR0cmlidXRlc5R9lCiMA2lkc5RdlIwnbW9kdWxlLWV0aGVyZXVtLmZyb250aWVyLnZtLmludGVycHJldGVylGGMB2NsYXNzZXOUXZSMBW5hbWVzlF2UjAhkdXBuYW1lc5RdlIwIYmFja3JlZnOUXZSMBWlzbW9klIh1jAd0YWduYW1llGgJjAZzb3VyY2WUjGgvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL2RvYy9hdXRvYXBpL2V0aGVyZXVtL2Zyb250aWVyL3ZtL2ludGVycHJldGVyL2luZGV4LnJzdJSMBGxpbmWUSwGMBnBhcmVudJRoA4wJX2RvY3VtZW50lGgDdWKMD3NwaGlueC5hZGRub2Rlc5SMBWluZGV4lJOUKYGUfZQoaAVoBmgHXZRoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAdlbnRyaWVzlF2UKIwEcGFpcpSMKG1vZHVsZTsgZXRoZXJldW0uZnJvbnRpZXIudm0uaW50ZXJwcmV0ZXKUaBJoBk50lGF1aBxoI2gdaB5oH0sCaCBoA2ghaAN1YmgAjAdzZWN0aW9ulJOUKYGUfZQoaAVoBmgHXZQoaACMBXRpdGxllJOUKYGUfZQoaAWMKkV0aGVyZXVtIFZpcnR1YWwgTWFjaGluZSAoRVZNKSBJbnRlcnByZXRlcpRoB12UaACMBFRleHSUk5SMKkV0aGVyZXVtIFZpcnR1YWwgTWFjaGluZSAoRVZNKSBJbnRlcnByZXRlcpSFlIGUfZQoaAVoBmggaDpoIWgDaB2MXC9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvLnRveC9kb2NzL3N0YWdlMF9vdXQvYXV0b2FwaS8gPT4gZG9jL2RpZmZzlGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaDhoHWgeaB9LBGggaDVoIWgDdWJoAIwFdG9waWOUk5QpgZR9lChoBWgG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aCBq3QMAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCGludGVybmFslIiMBXJlZmlklIw3ZXRoZXJldW0uZnJvbnRpZXIudm0uaW50ZXJwcmV0ZXIucHJvY2Vzc19jcmVhdGVfbWVzc2FnZZSMCHJlZnRpdGxllIw3ZXRoZXJldW0uZnJvbnRpZXIudm0uaW50ZXJwcmV0ZXIucHJvY2Vzc19jcmVhdGVfbWVzc2FnZZR1aBxobWgdTmgfTmggatkDAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGhoHYx5L2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9kb2MvYXV0b2FwaS9ldGhlcmV1bS9mcm9udGllci92bS9pbnRlcnByZXRlci9pbmRleC5yc3Q6NDI6PGF1dG9zdW1tYXJ5PpRoH0sBaCBq1gMAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqtwIAAGgdTmgfTmggatMDAAB1Ymq4AgAAKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFjCtFeGVjdXRlcyBhIGNhbGwgdG8gY3JlYXRlIGEgc21hcnQgY29udHJhY3QulGgHXZRoP4wrRXhlY3V0ZXMgYSBjYWxsIHRvIGNyZWF0ZSBhIHNtYXJ0IGNvbnRyYWN0LpSFlIGUfZQoaAVoBmggagoEAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGhoHYx5L2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9kb2MvYXV0b2FwaS9ldGhlcmV1bS9mcm9udGllci92bS9pbnRlcnByZXRlci9pbmRleC5yc3Q6NDI6PGF1dG9zdW1tYXJ5PpRoH0sBaCBqBwQAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqtwIAAGgdTmgfTmggatMDAAB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcarICAABoHU5oH05oIGpqAwAAdWJqswIAACmBlH2UKGgFaAZoB12UKGq4AgAAKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFjEk6b2JqOmBwcm9jZXNzX21lc3NhZ2UgPGV0aGVyZXVtLmZyb250aWVyLnZtLmludGVycHJldGVyLnByb2Nlc3NfbWVzc2FnZT5glGgHXZRobimBlH2UKGgFaAZoB12UasQCAAApgZR9lChoBWotBAAAaAddlGg/jA9wcm9jZXNzX21lc3NhZ2WUhZSBlH2UKGgFaAZoIGoyBAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlChq0AIAAIwCcHmUjAZweS1vYmqUZWgVXZRoF12UaBldlHVoHGrDAgAAaB1OaB9OaCBqLwQAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCGludGVybmFslIiMBXJlZmlklIwwZXRoZXJldW0uZnJvbnRpZXIudm0uaW50ZXJwcmV0ZXIucHJvY2Vzc19tZXNzYWdllIwIcmVmdGl0bGWUjDBldGhlcmV1bS5mcm9udGllci52bS5pbnRlcnByZXRlci5wcm9jZXNzX21lc3NhZ2WUdWgcaG1oHU5oH05oIGorBAAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB2MeS9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0vZnJvbnRpZXIvdm0vaW50ZXJwcmV0ZXIvaW5kZXgucnN0OjQyOjxhdXRvc3VtbWFyeT6UaB9LAWggaigEAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcarcCAABoHU5oH05oIGolBAAAdWJquAIAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYwrRXhlY3V0ZXMgYSBjYWxsIHRvIGNyZWF0ZSBhIHNtYXJ0IGNvbnRyYWN0LpRoB12UaD+MK0V4ZWN1dGVzIGEgY2FsbCB0byBjcmVhdGUgYSBzbWFydCBjb250cmFjdC6UhZSBlH2UKGgFaAZoIGpcBAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB2MeS9ob21lL3J1bm5lci93b3JrL2V4ZWN1dGlvbi1zcGVjcy9leGVjdXRpb24tc3BlY3MvZG9jL2F1dG9hcGkvZXRoZXJldW0v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BmRvbWFpbpRq/AkAAIwHb2JqdHlwZZRqVQsAAIwIZGVzY3R5cGWUalULAACMB25vaW5kZXiUiXVoHGrhBQAAaB1OaB9OaCBqhgkAAHViaiYGAAApgZR9lChoBVjjAwAAZGVmIHByb2Nlc3NfbWVzc2FnZV9jYWxsKAogICAgbWVzc2FnZTogTWVzc2FnZSwgZW52OiBFbnZpcm9ubWVudAopIC0+IE1lc3NhZ2VDYWxsT3V0cHV0OgogICAgaWYgbWVzc2FnZS50YXJnZXQgPT0gQnl0ZXMwKGIiIik6CiAgICAgICAgaXNfY29sbGlzaW9uID0gYWNjb3VudF9oYXNfY29kZV9vcl9ub25jZSgKICAgICAgICAgICAgZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0CiAgICAgICAgKQogICAgICAgIGlmIGlzX2NvbGxpc2lvbjoKICAgICAgICAgICAgcmV0dXJuIE1lc3NhZ2VDYWxsT3V0cHV0KFUyNTYoMCksIFUyNTYoMCksIHR1cGxlKCksIHNldCgpLCBUcnVlKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGV2bSA9IHByb2Nlc3NfY3JlYXRlX21lc3NhZ2UobWVzc2FnZSwgZW52KQogICAgZWxzZToKICAgICAgICBldm0gPSBwcm9jZXNzX21lc3NhZ2UobWVzc2FnZSwgZW52KQoKICAgIGlmIGV2bS5oYXNfZXJyZWQ6CiAgICAgICAgbG9nczogVHVwbGVbTG9nLCAuLi5dID0gKCkKICAgICAgICBhY2NvdW50c190b19kZWxldGUgPSBzZXQoKQogICAgICAgIHJlZnVuZF9jb3VudGVyID0gVTI1NigwKQogICAgZWxzZToKICAgICAgICBsb2dzID0gZXZtLmxvZ3MKICAgICAgICBhY2NvdW50c190b19kZWxldGUgPSBldm0uYWNjb3VudHNfdG9fZGVsZXRlCiAgICAgICAgcmVmdW5kX2NvdW50ZXIgPSBldm0ucmVmdW5kX2NvdW50ZXIgKyBSRUZVTkRfU0VMRl9ERVNUUlVDVCAqIGxlbigKICAgICAgICAgICAgZXZtLmFjY291bnRzX3RvX2RlbGV0ZQogICAgICAgICkKCiAgICByZXR1cm4gTWVzc2FnZUNhbGxPdXRwdXQoCiAgICAgICAgZ2FzX2xlZnQ9ZXZtLmdhc19sZWZ0LAogICAgICAgIHJlZnVuZF9jb3VudGVyPXJlZnVuZF9jb3VudGVyLAogICAgICAgIGxvZ3M9bG9ncywKICAgICAgICBhY2NvdW50c190b19kZWxldGU9YWNjb3VudHNfdG9fZGVsZXRlLAogICAgICAgIGhhc19lcnJlZD1ldm0uaGFzX2VycmVkLAogICAgKQqUaAddlGg/WOMDAABkZWYgcHJvY2Vzc19tZXNzYWdlX2NhbGwoCiAgICBtZXNzYWdlOiBNZXNzYWdlLCBlbnY6IEVudmlyb25tZW50CikgLT4gTWVzc2FnZUNhbGxPdXRwdXQ6CiAgICBpZiBtZXNzYWdlLnRhcmdldCA9PSBCeXRlczAoYiIiKToKICAgICAgICBpc19jb2xsaXNpb24gPSBhY2NvdW50X2hhc19jb2RlX29yX25vbmNlKAogICAgICAgICAgICBlbnYuc3RhdGUsIG1lc3NhZ2UuY3VycmVudF90YXJnZXQKICAgICAgICApCiAgICAgICAgaWYgaXNfY29sbGlzaW9uOgogICAgICAgICAgICByZXR1cm4gTWVzc2FnZUNhbGxPdXRwdXQoVTI1NigwKSwgVTI1NigwKSwgdHVwbGUoKSwgc2V0KCksIFRydWUpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgZXZtID0gcHJvY2Vzc19jcmVhdGVfbWVzc2FnZShtZXNzYWdlLCBlbnYpCiAgICBlbHNlOgogICAgICAgIGV2bSA9IHByb2Nlc3NfbWVzc2FnZShtZXNzYWdlLCBlbnYpCgogICAgaWYgZXZtLmhhc19lcnJlZDoKICAgICAgICBsb2dzOiBUdXBsZVtMb2csIC4uLl0gPSAoKQogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZSA9IHNldCgpCiAgICAgICAgcmVmdW5kX2NvdW50ZXIgPSBVMjU2KDApCiAgICBlbHNlOgogICAgICAgIGxvZ3MgPSBldm0ubG9ncwogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZSA9IGV2bS5hY2NvdW50c190b19kZWxldGUKICAgICAgICByZWZ1bmRfY291bnRlciA9IGV2bS5yZWZ1bmRfY291bnRlciArIFJFRlVORF9TRUxGX0RFU1RSVUNUICogbGVuKAogICAgICAgICAgICBldm0uYWNjb3VudHNfdG9fZGVsZXRlCiAgICAgICAgKQoKICAgIHJldHVybiBNZXNzYWdlQ2FsbE91dHB1dCgKICAgICAgICBnYXNfbGVmdD1ldm0uZ2FzX2xlZnQsCiAgICAgICAgcmVmdW5kX2NvdW50ZXI9cmVmdW5kX2NvdW50ZXIsCiAgICAgICAgbG9ncz1sb2dzLAogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZT1hY2NvdW50c190b19kZWxldGUsCiAgICAgICAgaGFzX2VycmVkPWV2bS5oYXNfZXJyZWQsCiAgICApCpSFlIGUfZQoaAVoBmggal0LAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAZzb3VyY2WUjFkvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL3NyYy9ldGhlcmV1bS9mcm9udGllci92bS9pbnRlcnByZXRlci5weZSMCXhtbDpzcGFjZZRqTgIAAIwFZm9yY2WUiYwIbGFuZ3VhZ2WUjAZweXRob26UjA5oaWdobGlnaHRfYXJnc5R9lGo9BgAASwFzjAdsaW5lbm9zlIl1aBxqJQYAAGgdaB5oH0uNaCBqhgkAAHViZWgOfZQoaBBdlGqUAQAAYWgTXZRoFV2UjBRwcm9jZXNzX21lc3NhZ2VfY2FsbJRhaBddlGgZXZR1aBxoM2gdaB5oH0t7aCBqsAUAAGghaAN1Ymg0KYGUfZQoaAVoBmgHXZQoaDkpgZR9lChoBYwWcHJvY2Vzc19jcmVhdGVfbWVzc2FnZZRoB12UaD+MFnByb2Nlc3NfY3JlYXRlX21lc3NhZ2WUhZSBlH2UKGgFaAZoIGp+CwAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGg4aB1oHmgfS5JoIGp7CwAAaCFoA3ViaCQpgZR9lChoBWgGaAddlGgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMB2VudHJpZXOUXZR1aBxoI2gdaERoH0sAaCBqewsAAGghaAN1YmriBQAAKYGUfZQoaAVoBmgHXZQoaucFAAApgZR9lChoBYwkcHJvY2Vzc19jcmVhdGVfbWVzc2FnZShtZXNzYWdlLCBlbnYplGgHXZQoau0FAAApgZR9lChoBYwWcHJvY2Vzc19jcmVhdGVfbWVzc2FnZZRoB12UaD+MFnByb2Nlc3NfY3JlYXRlX21lc3NhZ2WUhZSBlH2UKGgFaAZoIGqeCwAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlChq+AUAAGr5BQAAavoFAABq+wUAAGVoFV2UaBddlGgZXZSMCXhtbDpzcGFjZZRqTgIAAHVoHGrsBQAAaB1oHmgfTmggapoLAAB1Ymq5CQAAKYGUfZQoaAWMDG1lc3NhZ2UsIGVudpRoB12UKGq/CQAAKYGUfZQoaAWMB21lc3NhZ2WUaAddlGppCAAAKYGUfZQoaAVoBmgHXZRoP4wHbWVzc2FnZZSFlIGUfZQoaAVoBmggarULAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12Uas4JAABhaBVdlGgXXZRoGV2UdWgcamgIAABoHU5oH05oIGqxCwAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwJeG1sOnNwYWNllGpOAgAAdWgcar4JAABoHU5oH05oIGqtCwAAdWJqvwkAACmBlH2UKGgFjANlbnaUaAddlGppCAAAKYGUfZQoaAVoBmgHXZRoP4wDZW52lIWUgZR9lChoBWgGaCBqzQsAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRqzgkAAGFoFV2UaBddlGgZXZR1aBxqaAgAAGgdTmgfTmggaskLAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAl4bWw6c3BhY2WUak4CAAB1aBxqvgkAAGgdTmgfTmggaq0LAAB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAl4bWw6c3BhY2WUak4CAAB1aBxquAkAAGgdaB5oH05oIGqaCwAAdWJlaA59lChoEF2UjDdldGhlcmV1bS5mcm9udGllci52bS5pbnRlcnByZXRlci5wcm9jZXNzX2NyZWF0ZV9tZXNzYWdllGFoE12UKGoDBgAAagQGAACMAnB5lGoGBgAAagcGAABlaBVdlGgXXZRoGV2UjAZtb2R1bGWUagwGAACMBWNsYXNzlGgGjAhmdWxsbmFtZZRqoAsAAHVoHGrmBQAAaB1oHmgfS5VoIGqXCwAAdWJqEAYAACmBlH2UKGgFaAZoB12UKGhpKYGUfZQoaAWMK0V4ZWN1dGVzIGEgY2FsbCB0byBjcmVhdGUgYSBzbWFydCBjb250cmFjdC6UaAddlGg/jCtFeGVjdXRlcyBhIGNhbGwgdG8gY3JlYXRlIGEgc21hcnQgY29udHJhY3QulIWUgZR9lChoBWgGaCBq9gsAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdaB5oH0uYaCBq8wsAAHViaksKAAApgZR9lChoBWgGaAddlChqUAoAACmBlH2UKGgFaAZoB12UKGpVCgAAKYGUfZQoaAWMClBhcmFtZXRlcnOUaAddlGg/jApQYXJhbWV0ZXJzlIWUgZR9lChoBWgGaCBqCgwAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqVAoAAGgdaB5oH0sAaCBqBwwAAHViamUKAAApgZR9lChoBWgGaAddlGhfKYGUfZQoaAVoBmgHXZQoaGQpgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMJm1lc3NhZ2UgLS0gVHJhbnNhY3Rpb24gc3BlY2lmaWMgaXRlbXMulGgHXZQoanQKAAApgZR9lChoBYwHbWVzc2FnZZRoB12UaD+MB21lc3NhZ2WUhZSBlH2UKGgFaAZoIGolDAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwLcmVmc3BlY2lmaWOUiIwJcHk6bW9kdWxllGoMBgAAjAhweTpjbGFzc5ROdWgcanMKAABoHU5oH05oIGohDAAAdWJoP4wgIOKAkyBUcmFuc2FjdGlvbiBzcGVjaWZpYyBpdGVtcy6UhZSBlH2UKGgFaAZoIGohDAAAaCFoA2gdaERoH0sAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB1OaB9OaCBqHgwAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoY2gdTmgfTmggahsMAAB1YmhkKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFjDFlbnYgLS0gRXh0ZXJuYWwgaXRlbXMgcmVxdWlyZWQgZm9yIEVWTSBleGVjdXRpb24ulGgHXZQoanQKAAApgZR9lChoBYwDZW52lGgHXZRoP4wDZW52lIWUgZR9lChoBWgGaCBqTQwAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMC3JlZnNwZWNpZmljlIiMCXB5Om1vZHVsZZRqDAYAAIwIcHk6Y2xhc3OUTnVoHGpzCgAAaB1OaB9OaCBqSQwAAHViaD+MLyDigJMgRXh0ZXJuYWwgaXRlbXMgcmVxdWlyZWQgZm9yIEVWTSBleGVjdXRpb24ulIWUgZR9lChoBWgGaCBqSQwAAGghaANoHWhEaB9LAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdTmgfTmggakYMAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGNoHU5oH05oIGobDAAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGheaB1OaB9OaCBqGAwAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqZAoAAGgdTmgfTmggagcMAAB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcak8KAABoHU5oH05oIGoEDAAAdWJqUAoAACmBlH2UKGgFaAZoB12UKGpVCgAAKYGUfZQoaAWMB1JldHVybnOUaAddlGg/jAdSZXR1cm5zlIWUgZR9lChoBWgGaCBqgwwAAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqVAoAAGgdaB5oH0sAaCBqgAwAAHViamUKAAApgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMM2V2bSAtLSBJdGVtcyBjb250YWluaW5nIGV4ZWN1dGlvbiBzcGVjaWZpYyBvYmplY3RzLpRoB12UKGrpCgAAKYGUfZQoaAWMByoqZXZtKiqUaAddlGg/jANldm2UhZSBlH2UKGgFaAZoIGqYDAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGroCgAAaB1OaB9OaCBqlAwAAHViaD+MMSDigJMgSXRlbXMgY29udGFpbmluZyBleGVjdXRpb24gc3BlY2lmaWMgb2JqZWN0cy6UhZSBlH2UKGgFaAZoIGqUDAAAaCFoA2gdaERoH0sAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB1OaB9OaCBqkQwAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqZAoAAGgdTmgfTmggaoAMAAB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcak8KAABoHU5oH05oIGoEDAAAdWJqUAoAACmBlH2UKGgFaAZoB12UKGpVCgAAKYGUfZQoaAWMC1JldHVybiB0eXBllGgHXZRoP4wLUmV0dXJuIHR5cGWUhZSBlH2UKGgFaAZoIGq/DAAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGpUCgAAaB1oHmgfSwBoIGq8DAAAdWJqZQoAACmBlH2UKGgFaAZoB12UaGkpgZR9lChoBYwDRXZtlGgHXZRobimBlH2UKGgFaAZoB12UasQCAAApgZR9lChoBYwlOnB5OmNsYXNzOmB+ZXRoZXJldW0uZnJvbnRpZXIudm0uRXZtYJRoB12UaD+MA0V2bZSFlIGUfZQoaAVoBmggatcMAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UKGrQAgAAjAJweZSMCHB5LWNsYXNzlGVoFV2UaBddlGgZXZR1aBxqwwIAAGgdTmgfTmggatQMAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAhpbnRlcm5hbJSIjAZyZWZ1cmmUjCguLi9pbmRleC5waWNrbGUjZXRoZXJldW0uZnJvbnRpZXIudm0uRXZtlIwIcmVmdGl0bGWUjBhldGhlcmV1bS5mcm9udGllci52bS5Fdm2UdWgcaG1oHU5oH05oIGrQDAAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB1OaB9OaCBqzQwAAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqZAoAAGgdTmgfTmggarwMAAB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcak8KAABoHU5oH05oIGoEDAAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGpKCgAAaB1OaB9OaCBq8wsAAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqDwYAAGgdaB5oH05oIGqXCwAAdWJlaA59lChoEF2UaBNdlChq7AsAAIwIZnVuY3Rpb26UZWgVXZRoF12UaBldlIwGZG9tYWlulGrsCwAAjAdvYmp0eXBllGoTDQAAjAhkZXNjdHlwZZRqEw0AAIwHbm9pbmRleJSJdWgcauEFAABoHWhEaB9LAGggansLAABoIWgDdWJqJgYAACmBlH2UKGgFWMsBAABkZWYgcHJvY2Vzc19jcmVhdGVfbWVzc2FnZShtZXNzYWdlOiBNZXNzYWdlLCBlbnY6IEVudmlyb25tZW50KSAtPiBFdm06CiAgICBldm0gPSBwcm9jZXNzX21lc3NhZ2UobWVzc2FnZSwgZW52KQogICAgaWYgbm90IGV2bS5oYXNfZXJyZWQ6CiAgICAgICAgY29udHJhY3RfY29kZSA9IGV2bS5vdXRwdXQKICAgICAgICBjb250cmFjdF9jb2RlX2dhcyA9IGxlbihjb250cmFjdF9jb2RlKSAqIEdBU19DT0RFX0RFUE9TSVQKICAgICAgICB0cnk6CiAgICAgICAgICAgIGNoYXJnZV9nYXMoZXZtLCBjb250cmFjdF9jb2RlX2dhcykKICAgICAgICBleGNlcHQgRXhjZXB0aW9uYWxIYWx0OgogICAgICAgICAgICBldm0ub3V0cHV0ID0gYiIiCiAgICAgICAgZWxzZToKICAgICAgICAgICAgc2V0X2NvZGUoZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0LCBjb250cmFjdF9jb2RlKQogICAgcmV0dXJuIGV2bQqUaAddlChoP4xLZGVmIHByb2Nlc3NfY3JlYXRlX21lc3NhZ2UobWVzc2FnZTogTWVzc2FnZSwgZW52OiBFbnZpcm9ubWVudCkgLT4gRXZtOgogICAglIWUgZR9lChoBWgGaCBqGw0AAGghaANoHWhEaB9LAHViamkIAAApgZR9lChoBWgGaAddlGg/jF0jIHRha2Ugc25hcHNob3Qgb2Ygc3RhdGUgYmVmb3JlIHByb2Nlc3NpbmcgdGhlIG1lc3NhZ2UKICAgIGJlZ2luX3RyYW5zYWN0aW9uKGVudi5zdGF0ZSkKCiAgICCUhZSBlH2UKGgFaAZoIGojDQAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlIwMY2hhbmdlLWFkZGVklGFoFV2UaBddlGgZXZR1aBxqaAgAAGggahsNAABoIWgDaB1oRGgfSwB1Ymg/WAsBAABldm0gPSBwcm9jZXNzX21lc3NhZ2UobWVzc2FnZSwgZW52KQogICAgaWYgbm90IGV2bS5oYXNfZXJyZWQ6CiAgICAgICAgY29udHJhY3RfY29kZSA9IGV2bS5vdXRwdXQKICAgICAgICBjb250cmFjdF9jb2RlX2dhcyA9IGxlbihjb250cmFjdF9jb2RlKSAqIEdBU19DT0RFX0RFUE9TSVQKICAgICAgICB0cnk6CiAgICAgICAgICAgIGNoYXJnZV9nYXMoZXZtLCBjb250cmFjdF9jb2RlX2dhcykKICAgICAgICBleGNlcHQgRXhjZXB0aW9uYWxIYWx0OgogICAgICAgICAgICCUhZSBlH2UKGgFaAZoIGobDQAAaCFoA2gdaERoH0sAdWJqaQgAACmBlH2UKGgFaAZoB12UaD+MCmV2bS5vdXRwdXSUhZSBlH2UKGgFaAZoIGo1DQAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlIwPY2hhbmdlLXJlcGxhY2VklGFoFV2UaBddlGgZXZR1aBxqaAgAAGggahsNAABoIWgDaB1oRGgfSwB1YmppCAAAKYGUfZQoaAVoBmgHXZRoP4w4cm9sbGJhY2tfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgICAgICAgICBldm0uZ2FzX2xlZnSUhZSBlH2UKGgFaAZoIGpDDQAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlIwSY2hhbmdlLXJlcGxhY2VtZW50lGFoFV2UaBddlGgZXZR1aBxqaAgAAGggahsNAABoIWgDaB1oRGgfSwB1Ymg/jAMgPSCUhZSBlH2UKGgFaAZoIGobDQAAaCFoA2gdaERoH0sAdWJqaQgAACmBlH2UKGgFaAZoB12UaD+MA2IiIpSFlIGUfZQoaAVoBmggalUNAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UjA9jaGFuZ2UtcmVwbGFjZWSUYWgVXZRoF12UaBldlHVoHGpoCAAAaCBqGw0AAGghaANoHWhEaB9LAHViamkIAAApgZR9lChoBWgGaAddlGg/jChVMjU2KDApCiAgICAgICAgICAgIGV2bS5oYXNfZXJyZWQgPSBUcnVllIWUgZR9lChoBWgGaCBqYw0AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZSMEmNoYW5nZS1yZXBsYWNlbWVudJRhaBVdlGgXXZRoGV2UdWgcamgIAABoIGobDQAAaCFoA2gdaERoH0sAdWJoP4xaCiAgICAgICAgZWxzZToKICAgICAgICAgICAgc2V0X2NvZGUoZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0LCBjb250cmFjdF9jb2RlKQogICAglIWUgZR9lChoBWgGaCBqGw0AAGghaANoHWhEaB9LAHViamkIAAApgZR9lChoBWgGaAddlGg/jFRjb21taXRfdHJhbnNhY3Rpb24oZW52LnN0YXRlKQogICAgZWxzZToKICAgICAgICByb2xsYmFja190cmFuc2FjdGlvbihlbnYuc3RhdGUpCiAgICCUhZSBlH2UKGgFaAZoIGp1DQAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlIwMY2hhbmdlLWFkZGVklGFoFV2UaBddlGgZXZR1aBxqaAgAAGggahsNAABoIWgDaB1oRGgfSwB1Ymg/jAtyZXR1cm4gZXZtCpSFlIGUfZQoaAVoBmggahsNAABoIWgDaB1oRGgfSwB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAZzb3VyY2WUjFkvaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzL3NyYy9ldGhlcmV1bS9mcm9udGllci92bS9pbnRlcnByZXRlci5weZSMCXhtbDpzcGFjZZRqTgIAAIwFZm9yY2WUiYwIbGFuZ3VhZ2WUjAZweXRob26UjA5oaWdobGlnaHRfYXJnc5R9lGo9BgAASwFzjAdsaW5lbm9zlIl1aBxqJQYAAGgdaB5oH0ujaCBqewsAAGghaAN1YmVoDn2UKGgQXZRqtgEAAGFoE12UaBVdlIwWcHJvY2Vzc19jcmVhdGVfbWVzc2FnZZRhaBddlGgZXZR1aBxoM2gdaB5oH0uSaCBqsAUAAGghaAN1Ymg0KYGUfZQoaAVoBmgHXZQoaDkpgZR9lChoBYwPcHJvY2Vzc19tZXNzYWdllGgHXZRoP4wPcHJvY2Vzc19tZXNzYWdllIWUgZR9lChoBWgGaCBqoA0AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoOGgdaB5oH0uoaCBqnQ0AAGghaAN1YmgkKYGUfZQoaAVoBmgHXZRoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UjAdlbnRyaWVzlF2UdWgcaCNoHWhEaB9LAGggap0NAABoIWgDdWJq4gUAACmBlH2UKGgFaAZoB12UKGrnBQAAKYGUfZQoaAWMHXByb2Nlc3NfbWVzc2FnZShtZXNzYWdlLCBlbnYplGgHXZQoau0FAAApgZR9lChoBYwPcHJvY2Vzc19tZXNzYWdllGgHXZRoP4wPcHJvY2Vzc19tZXNzYWdllIWUgZR9lChoBWgGaCBqwA0AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZQoavgFAABq+QUAAGr6BQAAavsFAABlaBVdlGgXXZRoGV2UjAl4bWw6c3BhY2WUak4CAAB1aBxq7AUAAGgdaB5oH05oIGq8DQAAdWJquQkAACmBlH2UKGgFjAxtZXNzYWdlLCBlbnaUaAddlChqvwkAACmBlH2UKGgFjAdtZXNzYWdllGgHXZRqaQgAACmBlH2UKGgFaAZoB12UaD+MB21lc3NhZ2WUhZSBlH2UKGgFaAZoIGrXDQAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGrOCQAAYWgVXZRoF12UaBldlHVoHGpoCAAAaB1OaB9OaCBq0w0AAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMCXhtbDpzcGFjZZRqTgIAAHVoHGq+CQAAaB1OaB9OaCBqzw0AAHViar8JAAApgZR9lChoBYwDZW52lGgHXZRqaQgAACmBlH2UKGgFaAZoB12UaD+MA2VudpSFlIGUfZQoaAVoBmggau8NAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12Uas4JAABhaBVdlGgXXZRoGV2UdWgcamgIAABoHU5oH05oIGrrDQAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwJeG1sOnNwYWNllGpOAgAAdWgcar4JAABoHU5oH05oIGrPDQAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwJeG1sOnNwYWNllGpOAgAAdWgcargJAABoHWgeaB9OaCBqvA0AAHViZWgOfZQoaBBdlIwwZXRoZXJldW0uZnJvbnRpZXIudm0uaW50ZXJwcmV0ZXIucHJvY2Vzc19tZXNzYWdllGFoE12UKGoDBgAAagQGAACMAnB5lGoGBgAAagcGAABlaBVdlGgXXZRoGV2UjAZtb2R1bGWUagwGAACMBWNsYXNzlGgGjAhmdWxsbmFtZZRqwg0AAHVoHGrmBQAAaB1oHmgfS6toIGq5DQAAdWJqEAYAACmBlH2UKGgFaAZoB12UKGhpKYGUfZQoaAWMK0V4ZWN1dGVzIGEgY2FsbCB0byBjcmVhdGUgYSBzbWFydCBjb250cmFjdC6UaAddlGg/jCtFeGVjdXRlcyBhIGNhbGwgdG8gY3JlYXRlIGEgc21hcnQgY29udHJhY3QulIWUgZR9lChoBWgGaCBqGA4AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdaB5oH0uuaCBqFQ4AAHViaksKAAApgZR9lChoBWgGaAddlChqUAoAACmBlH2UKGgFaAZoB12UKGpVCgAAKYGUfZQoaAWMClBhcmFtZXRlcnOUaAddlGg/jApQYXJhbWV0ZXJzlIWUgZR9lChoBWgGaCBqLA4AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqVAoAAGgdaB5oH0sAaCBqKQ4AAHViamUKAAApgZR9lChoBWgGaAddlGhfKYGUfZQoaAVoBmgHXZQoaGQpgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMJm1lc3NhZ2UgLS0gVHJhbnNhY3Rpb24gc3BlY2lmaWMgaXRlbXMulGgHXZQoanQKAAApgZR9lChoBYwHbWVzc2FnZZRoB12UaD+MB21lc3NhZ2WUhZSBlH2UKGgFaAZoIGpHDgAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwLcmVmc3BlY2lmaWOUiIwJcHk6bW9kdWxllGoMBgAAjAhweTpjbGFzc5ROdWgcanMKAABoHU5oH05oIGpDDgAAdWJoP4wgIOKAkyBUcmFuc2FjdGlvbiBzcGVjaWZpYyBpdGVtcy6UhZSBlH2UKGgFaAZoIGpDDgAAaCFoA2gdaERoH0sAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGhoaB1OaB9OaCBqQA4AAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoY2gdTmgfTmggaj0OAAB1YmhkKYGUfZQoaAVoBmgHXZRoaSmBlH2UKGgFjDFlbnYgLS0gRXh0ZXJuYWwgaXRlbXMgcmVxdWlyZWQgZm9yIEVWTSBleGVjdXRpb24ulGgHXZQoanQKAAApgZR9lChoBYwDZW52lGgHXZRoP4wDZW52lIWUgZR9lChoBWgGaCBqbw4AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZSMC3JlZnNwZWNpZmljlIiMCXB5Om1vZHVsZZRqDAYAAIwIcHk6Y2xhc3OUTnVoHGpzCgAAaB1OaB9OaCBqaw4AAHViaD+MLyDigJMgRXh0ZXJuYWwgaXRlbXMgcmVxdWlyZWQgZm9yIEVWTSBleGVjdXRpb24ulIWUgZR9lChoBWgGaCBqaw4AAGghaANoHWhEaB9LAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdTmgfTmggamgOAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaGNoHU5oH05oIGo9DgAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGheaB1OaB9OaCBqOg4AAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqZAoAAGgdTmgfTmggaikOAAB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcak8KAABoHU5oH05oIGomDgAAdWJqUAoAACmBlH2UKGgFaAZoB12UKGpVCgAAKYGUfZQoaAWMB1JldHVybnOUaAddlGg/jAdSZXR1cm5zlIWUgZR9lChoBWgGaCBqpQ4AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqVAoAAGgdaB5oH0sAaCBqog4AAHViamUKAAApgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMMmV2bSAtLSBJdGVtcyBjb250YWluaW5nIGV4ZWN1dGlvbiBzcGVjaWZpYyBvYmplY3RzlGgHXZQoaukKAAApgZR9lChoBYwHKipldm0qKpRoB12UaD+MA2V2bZSFlIGUfZQoaAVoBmggaroOAABoIWgDaB1oRGgfSwB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcaugKAABoHU5oH05oIGq2DgAAdWJoP4wwIOKAkyBJdGVtcyBjb250YWluaW5nIGV4ZWN1dGlvbiBzcGVjaWZpYyBvYmplY3RzlIWUgZR9lChoBWgGaCBqtg4AAGghaANoHWhEaB9LAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdTmgfTmggarMOAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcamQKAABoHU5oH05oIGqiDgAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGpPCgAAaB1OaB9OaCBqJg4AAHVialAKAAApgZR9lChoBWgGaAddlChqVQoAACmBlH2UKGgFjAtSZXR1cm4gdHlwZZRoB12UaD+MC1JldHVybiB0eXBllIWUgZR9lChoBWgGaCBq4Q4AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqVAoAAGgdaB5oH0sAaCBq3g4AAHViamUKAAApgZR9lChoBWgGaAddlGhpKYGUfZQoaAWMA0V2bZRoB12UaG4pgZR9lChoBWgGaAddlGrEAgAAKYGUfZQoaAWMJTpweTpjbGFzczpgfmV0aGVyZXVtLmZyb250aWVyLnZtLkV2bWCUaAddlGg/jANFdm2UhZSBlH2UKGgFaAZoIGr5DgAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlChq0AIAAIwCcHmUjAhweS1jbGFzc5RlaBVdlGgXXZRoGV2UdWgcasMCAABoHU5oH05oIGr2DgAAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwIaW50ZXJuYWyUiIwGcmVmdXJplIwoLi4vaW5kZXgucGlja2xlI2V0aGVyZXVtLmZyb250aWVyLnZtLkV2bZSMCHJlZnRpdGxllIwYZXRoZXJldW0uZnJvbnRpZXIudm0uRXZtlHVoHGhtaB1OaB9OaCBq8g4AAHViYWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxoaGgdTmgfTmggau8OAAB1YmFoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcamQKAABoHU5oH05oIGreDgAAdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlHVoHGpPCgAAaB1OaB9OaCBqJg4AAHViZWgOfZQoaBBdlGgTXZRoFV2UaBddlGgZXZR1aBxqSgoAAGgdTmgfTmggahUOAAB1YmVoDn2UKGgQXZRoE12UaBVdlGgXXZRoGV2UdWgcag8GAABoHWgeaB9OaCBquQ0AAHViZWgOfZQoaBBdlGgTXZQoag4OAACMCGZ1bmN0aW9ulGVoFV2UaBddlGgZXZSMBmRvbWFpbpRqDg4AAIwHb2JqdHlwZZRqNQ8AAIwIZGVzY3R5cGWUajUPAACMB25vaW5kZXiUiXVoHGrhBQAAaB1oRGgfSwBoIGqdDQAAaCFoA3ViaiYGAAApgZR9lChoBVjRAgAAZGVmIHByb2Nlc3NfbWVzc2FnZShtZXNzYWdlOiBNZXNzYWdlLCBlbnY6IEVudmlyb25tZW50KSAtPiBFdm06CiAgICBpZiBtZXNzYWdlLmRlcHRoID4gU1RBQ0tfREVQVEhfTElNSVQ6CiAgICAgICAgcmFpc2UgU3RhY2tEZXB0aExpbWl0RXJyb3IoIlN0YWNrIGRlcHRoIGxpbWl0IHJlYWNoZWQiKQoKICAgICMgdGFrZSBzbmFwc2hvdCBvZiBzdGF0ZSBiZWZvcmUgcHJvY2Vzc2luZyB0aGUgbWVzc2FnZQogICAgYmVnaW5fdHJhbnNhY3Rpb24oZW52LnN0YXRlKQoKICAgIHRvdWNoX2FjY291bnQoZW52LnN0YXRlLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0KQoKICAgIGlmIG1lc3NhZ2UudmFsdWUgIT0gMDoKICAgICAgICBtb3ZlX2V0aGVyKAogICAgICAgICAgICBlbnYuc3RhdGUsIG1lc3NhZ2UuY2FsbGVyLCBtZXNzYWdlLmN1cnJlbnRfdGFyZ2V0LCBtZXNzYWdlLnZhbHVlCiAgICAgICAgKQoKICAgIGV2bSA9IGV4ZWN1dGVfY29kZShtZXNzYWdlLCBlbnYpCiAgICBpZiBldm0uaGFzX2VycmVkOgogICAgICAgICMgcmV2ZXJ0IHN0YXRlIHRvIHRoZSBsYXN0IHNhdmVkIGNoZWNrcG9pbnQKICAgICAgICAjIHNpbmNlIHRoZSBtZXNzYWdlIGNhbGwgcmVzdWx0ZWQgaW4gYW4gZXJyb3IKICAgICAgICByb2xsYmFja190cmFuc2FjdGlvbihlbnYuc3RhdGUpCiAgICBlbHNlOgogICAgICAgIGNvbW1pdF90cmFuc2FjdGlvbihlbnYuc3RhdGUpCiAgICByZXR1cm4gZXZtCpRoB12UKGg/WEUBAABkZWYgcHJvY2Vzc19tZXNzYWdlKG1lc3NhZ2U6IE1lc3NhZ2UsIGVudjogRW52aXJvbm1lbnQpIC0+IEV2bToKICAgIGlmIG1lc3NhZ2UuZGVwdGggPiBTVEFDS19ERVBUSF9MSU1JVDoKICAgICAgICByYWlzZSBTdGFja0RlcHRoTGltaXRFcnJvcigiU3RhY2sgZGVwdGggbGltaXQgcmVhY2hlZCIpCgogICAgIyB0YWtlIHNuYXBzaG90IG9mIHN0YXRlIGJlZm9yZSBwcm9jZXNzaW5nIHRoZSBtZXNzYWdlCiAgICBiZWdpbl90cmFuc2FjdGlvbihlbnYuc3RhdGUpCgogICAgdG91Y2hfYWNjb3VudChlbnYuc3RhdGUsIG1lc3NhZ2UuY3VycmVudF90YXJnZXQpCgogICAgaWYglIWUgZR9lChoBWgGaCBqPQ8AAGghaANoHWhEaB9LAHViamkIAAApgZR9lChoBWgGaAddlGg/jCJtZXNzYWdlLnNob3VsZF90cmFuc2Zlcl92YWx1ZSBhbmQglIWUgZR9lChoBWgGaCBqRQ8AAGghaANoHWhEaB9LAHViYWgOfZQoaBBdlGgTXZSMDGNoYW5nZS1hZGRlZJRhaBVdlGgXXZRoGV2UdWgcamgIAABoIGo9DwAAaCFoA2gdaERoH0sAdWJoP1iMAQAAbWVzc2FnZS52YWx1ZSAhPSAwOgogICAgICAgIG1vdmVfZXRoZXIoCiAgICAgICAgICAgIGVudi5zdGF0ZSwgbWVzc2FnZS5jYWxsZXIsIG1lc3NhZ2UuY3VycmVudF90YXJnZXQsIG1lc3NhZ2UudmFsdWUKICAgICAgICAp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AACMCGRlc2N0eXBllGoHEQAAjAdub2luZGV4lIl1aBxq4QUAAGgdTmgfTmggam0PAAB1YmomBgAAKYGUfZQoaAVYZAQAAGRlZiBleGVjdXRlX2NvZGUobWVzc2FnZTogTWVzc2FnZSwgZW52OiBFbnZpcm9ubWVudCkgLT4gRXZtOgogICAgY29kZSA9IG1lc3NhZ2UuY29kZQogICAgdmFsaWRfanVtcF9kZXN0aW5hdGlvbnMgPSBnZXRfdmFsaWRfanVtcF9kZXN0aW5hdGlvbnMoY29kZSkKICAgIGV2bSA9IEV2bSgKICAgICAgICBwYz1VaW50KDApLAogICAgICAgIHN0YWNrPVtdLAogICAgICAgIG1lbW9yeT1ieXRlYXJyYXkoKSwKICAgICAgICBjb2RlPWNvZGUsCiAgICAgICAgZ2FzX2xlZnQ9bWVzc2FnZS5nYXMsCiAgICAgICAgZW52PWVudiwKICAgICAgICB2YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucz12YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucywKICAgICAgICBsb2dzPSgpLAogICAgICAgIHJlZnVuZF9jb3VudGVyPVUyNTYoMCksCiAgICAgICAgcnVubmluZz1UcnVlLAogICAgICAgIG1lc3NhZ2U9bWVzc2FnZSwKICAgICAgICBvdXRwdXQ9YiIiLAogICAgICAgIGFjY291bnRzX3RvX2RlbGV0ZT1zZXQoKSwKICAgICAgICBoYXNfZXJyZWQ9RmFsc2UsCiAgICApCiAgICB0cnk6CgogICAgICAgIGlmIGV2bS5tZXNzYWdlLmNvZGVfYWRkcmVzcyBpbiBQUkVfQ09NUElMRURfQ09OVFJBQ1RTOgogICAgICAgICAgICBldm1fdHJhY2UoZXZtLCBldm0ubWVzc2FnZS5jb2RlX2FkZHJlc3MpCiAgICAgICAgICAgIFBSRV9DT01QSUxFRF9DT05UUkFDVFNbZXZtLm1lc3NhZ2UuY29kZV9hZGRyZXNzXShldm0pCiAgICAgICAgICAgIHJldHVybiBldm0KCiAgICAgICAgd2hpbGUgZXZtLnJ1bm5pbmcgYW5kIGV2bS5wYyA8IGxlbihldm0uY29kZSk6CiAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgIG9wID0gT3BzKGV2bS5jb2RlW2V2bS5wY10pCiAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgICAgcmFpc2UgSW52YWxpZE9wY29kZShldm0uY29kZVtldm0ucGNdKQoKICAgICAgICAgICAgZXZtX3RyYWNlKGV2bSwgb3ApCiAgICAgICAgICAgIG9wX2ltcGxlbWVudGF0aW9uW29wXShldm0pCgogICAgZXhjZXB0IEV4Y2VwdGlvbmFsSGFsdDoKICAgICAgICBldm0uZ2FzX2xlZnQgPSBVMjU2KDApCiAgICAgICAgZXZtLmhhc19lcnJlZCA9IFRydWUKICAgIHJldHVybiBldm0KlGgHXZRoP1hkBAAAZGVmIGV4ZWN1dGVfY29kZShtZXNzYWdlOiBNZXNzYWdlLCBlbnY6IEVudmlyb25tZW50KSAtPiBFdm06CiAgICBjb2RlID0gbWVzc2FnZS5jb2RlCiAgICB2YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucyA9IGdldF92YWxpZF9qdW1wX2Rlc3RpbmF0aW9ucyhjb2RlKQogICAgZXZtID0gRXZtKAogICAgICAgIHBjPVVpbnQoMCksCiAgICAgICAgc3RhY2s9W10sCiAgICAgICAgbWVtb3J5PWJ5dGVhcnJheSgpLAogICAgICAgIGNvZGU9Y29kZSwKICAgICAgICBnYXNfbGVmdD1tZXNzYWdlLmdhcywKICAgICAgICBlbnY9ZW52LAogICAgICAgIHZhbGlkX2p1bXBfZGVzdGluYXRpb25zPXZhbGlkX2p1bXBfZGVzdGluYXRpb25zLAogICAgICAgIGxvZ3M9KCksCiAgICAgICAgcmVmdW5kX2NvdW50ZXI9VTI1NigwKSwKICAgICAgICBydW5uaW5nPVRydWUsCiAgICAgICAgbWVzc2FnZT1tZXNzYWdlLAogICAgICAgIG91dHB1dD1iIiIsCiAgICAgICAgYWNjb3VudHNfdG9fZGVsZXRlPXNldCgpLAogICAgICAgIGhhc19lcnJlZD1GYWxzZSwKICAgICkKICAgIHRyeToKCiAgICAgICAgaWYgZXZtLm1lc3NhZ2UuY29kZV9hZGRyZXNzIGluIFBSRV9DT01QSUxFRF9DT05UUkFDVFM6CiAgICAgICAgICAgIGV2bV90cmFjZShldm0sIGV2bS5tZXNzYWdlLmNvZGVfYWRkcmVzcykKICAgICAgICAgICAgUFJFX0NPTVBJTEVEX0NPTlRSQUNUU1tldm0ubWVzc2FnZS5jb2RlX2FkZHJlc3NdKGV2bSkKICAgICAgICAgICAgcmV0dXJuIGV2bQoKICAgICAgICB3aGlsZSBldm0ucnVubmluZyBhbmQgZXZtLnBjIDwgbGVuKGV2bS5jb2RlKToKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgb3AgPSBPcHMoZXZtLmNvZGVbZXZtLnBjXSkKICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICAgICByYWlzZSBJbnZhbGlkT3Bjb2RlKGV2bS5jb2RlW2V2bS5wY10pCgogICAgICAgICAgICBldm1fdHJhY2UoZXZtLCBvcCkKICAgICAgICAgICAgb3BfaW1wbGVtZW50YXRpb25bb3BdKGV2bSkKCiAgICBleGNlcHQgRXhjZXB0aW9uYWxIYWx0OgogICAgICAgIGV2bS5nYXNfbGVmdCA9IFUyNTYoMCkKICAgICAgICBldm0uaGFzX2VycmVkID0gVHJ1ZQogICAgcmV0dXJuIGV2bQqUhZSBlH2UKGgFaAZoIGoPEQAAaCFoA2gdaERoH0sAdWJhaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwGc291cmNllIxZL2hvbWUvcnVubmVyL3dvcmsvZXhlY3V0aW9uLXNwZWNzL2V4ZWN1dGlvbi1zcGVjcy9zcmMvZXRoZXJldW0vZnJvbnRpZXIvdm0vaW50ZXJwcmV0ZXIucHmUjAl4bWw6c3BhY2WUak4CAACMBWZvcmNllImMCGxhbmd1YWdllIwGcHl0aG9ulIwOaGlnaGxpZ2h0X2FyZ3OUfZRqPQYAAEsBc4wHbGluZW5vc5SJdWgcaiUGAABoHWgeaB9Lz2ggam0PAAB1YmVoDn2UKGgQXZRq+gEAAGFoE12UaBVdlIwMZXhlY3V0ZV9jb2RllGFoF12UaBldlHVoHGgzaB1oHmgfS75oIGqwBQAAaCFoA3ViZWgOfZQoaBBdlGoxAQAAYWgTXZRoFV2UjA5tb2R1bGUgZGV0YWlsc5RhaBddlGgZXZR1aBxoM2gdaB5oH0s0aCBoNWghaAN1YmVoDn2UKGgQXZSMKGV0aGVyZXVtLXZpcnR1YWwtbWFjaGluZS1ldm0taW50ZXJwcmV0ZXKUYWgTXZRoFV2UjCpldGhlcmV1bSB2aXJ0dWFsIG1hY2hpbmUgKGV2bSkgaW50ZXJwcmV0ZXKUYWgXXZRoGV2UdWgcaDNoHWgeaB9LBGggaANoIWgDdWJlaA59lChoEF2UaBNdlGgVXZRoF12UaBldlIwGc291cmNllGhEdWgcaAGMDmN1cnJlbnRfc291cmNllGhEjAxjdXJyZW50X2xpbmWUSwCMCHNldHRpbmdzlIwRZG9jdXRpbHMuZnJvbnRlbmSUjAZWYWx1ZXOUk5QpgZR9lCiMDHJlcG9ydF9sZXZlbJRLAowKaGFsdF9sZXZlbJRLBIwRZXhpdF9zdGF0dXNfbGV2ZWyUSwWMBWRlYnVnlE6MDndhcm5pbmdfc3RyZWFtlE6MCXRyYWNlYmFja5ROjA9vdXRwdXRfZW5jb2RpbmeUjAV1dGYtOJSMHW91dHB1dF9lbmNvZGluZ19lcnJvcl9oYW5kbGVylIwReG1sY2hhcnJlZnJlcGxhY2WUjA5lcnJvcl9lbmNvZGluZ5SMBXV0Zi04lIwcZXJyb3JfZW5jb2RpbmdfZXJyb3JfaGFuZGxlcpSMEGJhY2tzbGFzaHJlcGxhY2WUjBNyZWNvcmRfZGVwZW5kZW5jaWVzlIwOZG9jdXRpbHMudXRpbHOUjA5EZXBlbmRlbmN5TGlzdJSTlCmBlH2UKIwEbGlzdJRdlIwEZmlsZZROdWKMBmNvbmZpZ5ROjA1kdW1wX3NldHRpbmdzlE6MDmR1bXBfaW50ZXJuYWxzlE6MD2R1bXBfdHJhbnNmb3Jtc5ROjA9kdW1wX3BzZXVkb194bWyUTowQZXhwb3NlX2ludGVybmFsc5ROjA5zdHJpY3RfdmlzaXRvcpROjA9fZGlzYWJsZV9jb25maWeUTowHX3NvdXJjZZROjAxfZGVzdGluYXRpb26UjDpkb2MvZGlmZnMvZnJvbnRpZXJfaG9tZXN0ZWFkL3ZtL2ludGVycHJldGVyL2luZGV4LnBpY2tsZTY0lIwNX2NvbmZpZ19maWxlc5RdlIwRbGluZV9sZW5ndGhfbGltaXSUTRAnjAl0YWJfd2lkdGiUSwiMEHN5bnRheF9oaWdobGlnaHSUjARsb25nlIwMc21hcnRfcXVvdGVzlImME3NtYXJ0cXVvdGVzX2xvY2FsZXOUTowdY2hhcmFjdGVyX2xldmVsX2lubGluZV9tYXJrdXCUiYwGd3JpdGVylIwDeG1slIwZY29tcGFyZV9zZWN0aW9uc19ieV9uYW1lc5RLAYwMZHVtcF9yc3RkaWZmlE6MBV9ib3RolH2UKGg4TowJZ2VuZXJhdG9ylE6MCWRhdGVzdGFtcJROjAtzb3VyY2VfbGlua5ROjApzb3VyY2VfdXJslE6MDXRvY19iYWNrbGlua3OUarcCAACMEmZvb3Rub3RlX2JhY2tsaW5rc5RLAYwNc2VjdG51bV94Zm9ybZRLAYwOZG9jdGl0bGVfeGZvcm2USwGMDWRvY2luZm9feGZvcm2USwGMEnNlY3RzdWJ0aXRsZV94Zm9ybZRLAIwOc3RyaXBfY29tbWVudHOUTowOaW5wdXRfZW5jb2RpbmeUTowcaW5wdXRfZW5jb2RpbmdfZXJyb3JfaGFuZGxlcpSMBnN0cmljdJSMDWxhbmd1YWdlX2NvZGWUjAJlbpSMDnBlcF9yZWZlcmVuY2VzlE6MDHBlcF9iYXNlX3VybJSMH2h0dHA6Ly93d3cucHl0aG9uLm9yZy9kZXYvcGVwcy+UjBVwZXBfZmlsZV91cmxfdGVtcGxhdGWUjAhwZXAtJTA0ZJSMDnJmY19yZWZlcmVuY2VzlE6MDHJmY19iYXNlX3VybJSMG2h0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL5SMHXRyaW1fZm9vdG5vdGVfcmVmZXJlbmNlX3NwYWNllE6MFmZpbGVfaW5zZXJ0aW9uX2VuYWJsZWSUSwGMC3Jhd19lbmFibGVklEsBjA5hdXRvX2lkX3ByZWZpeJSMAmlklIwJaWRfcHJlZml4lGgGjBtzdHJpcF9lbGVtZW50c193aXRoX2NsYXNzZXOUTowNc3RyaXBfY2xhc3Nlc5ROdYwEYm90aJR9lIwKX29wdGlvbnNUb5SMBV9ib3RolIwLX29sZF9zb3VyY2WUjE8vaG9tZS9ydW5uZXIvd29yay9leGVjdXRpb24tc3BlY3MvZXhlY3V0aW9uLXNwZWNzLy50b3gvZG9jcy9zdGFnZTBfb3V0L2F1dG9hcGkvlIwLX25ld19zb3VyY2WUjAlkb2MvZGlmZnOUaooRAABqixEAAIwWaWdub3JlX2luX3NlY3Rpb25fbmFtZZRdlCiMCGZyb250aWVylIwJaG9tZXN0ZWFklGV1YowIcmVwb3J0ZXKUTowQaW5kaXJlY3RfdGFyZ2V0c5RdlIwRc3Vic3RpdHV0aW9uX2RlZnOUfZSMEnN1YnN0aXR1dGlvbl9uYW1lc5R9lIwIcmVmbmFtZXOUfZSMBnJlZmlkc5R9lIwHbmFtZWlkc5R9lIwJbmFtZXR5cGVzlH2UaBB9lIwNZm9vdG5vdGVfcmVmc5R9lIwNY2l0YXRpb25fcmVmc5R9lIwNYXV0b2Zvb3Rub3Rlc5RdlIwRYXV0b2Zvb3Rub3RlX3JlZnOUXZSMEHN5bWJvbF9mb290bm90ZXOUXZSMFHN5bWJvbF9mb290bm90ZV9yZWZzlF2UjAlmb290bm90ZXOUXZSMCWNpdGF0aW9uc5RdlIwSYXV0b2Zvb3Rub3RlX3N0YXJ0lEsBjBVzeW1ib2xfZm9vdG5vdGVfc3RhcnSUSwCMCmlkX2NvdW50ZXKUjAtjb2xsZWN0aW9uc5SMB0NvdW50ZXKUk5R9lIWUUpSMDnBhcnNlX21lc3NhZ2VzlF2UjBJ0cmFuc2Zvcm1fbWVzc2FnZXOUXZSMC3RyYW5zZm9ybWVylE6MC2luY2x1ZGVfbG9nlF2UjApkZWNvcmF0aW9ulE5oIWgDdWIu