TWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB3aXRoIDEgbWVzc2FnZTogJ3lheScKRGVjb21wb3NpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBmcHRyID09IDAgZm9yOiAwID09IDAKRGVjb21wb3NpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBmcHRyID09IDBsIGZvcjogMCA9PSAwCkNvbXBpbGF0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkudiA9PSAwIGZvcjogMCA9PSAwCkNvbXBpbGF0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDAgPT0geS52IGZvcjogMCA9PSAwCkNvbXBpbGF0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHQxID09IHQyIGZvcjogez99ID09IHs/fQpDb21waWxhdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0MSAhPSB0MiBmb3I6IHs/fSAhPSB7P30KQ29tcGlsYXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdDEgPCB0MiBmb3I6IHs/fSA8IHs/fQpDb21waWxhdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0MSA+IHQyIGZvcjogez99ID4gez99CkNvbXBpbGF0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHQxIDw9IHQyIGZvcjogez99IDw9IHs/fQpDb21waWxhdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0MSA+PSB0MiBmb3I6IHs/fSA+PSB7P30KTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOgpDb21waWxhdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzdGQ6Om1lbWNtcCh1YXJyLCAiMTIzIiwgc2l6ZW9mKHVhcnIpKSA9PSAwIGZvcjogMCA9PSAwIHdpdGggMiBtZXNzYWdlczogJ3VhcnIgOj0gIjEyMyInIGFuZCAnc2FyciA6PSAiNDU2IicKQ29tcGlsYXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3RkOjptZW1jbXAoc2FyciwgIjQ1NiIsIHNpemVvZihzYXJyKSkgPT0gMCBmb3I6IDAgPT0gMCB3aXRoIDIgbWVzc2FnZXM6ICd1YXJyIDo9ICIxMjMiJyBhbmQgJ3NhcnIgOj0gIjQ1NiInCkNvbXBpbGF0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6CkNvbXBpbGF0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGgxID09IGgyIGZvcjogWzE0MDMgaGVscGVyXSA9PSBbMTQwMyBoZWxwZXJdCk1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHdhcm5pbmc6ICcKVGhpcyBpbmZvIG1lc3NhZ2Ugc3RhcnRzIHdpdGggYSBsaW5lYnJlYWsnIHdpdGggMSBtZXNzYWdlOiAnClRoaXMgd2FybmluZyBtZXNzYWdlIHN0YXJ0cyB3aXRoIGEgbGluZWJyZWFrJwpUaGlzIHdvdWxkIG5vdCBiZSBjYXVnaHQgcHJldmlvdXNseQpOb3Igd291bGQgdGhpcwpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZXhwbGljaXRseSB3aXRoIDEgbWVzc2FnZTogJzE1MTQnCkNvbXBpbGF0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHN0ZDo6aXNfc2FtZTxUeXBlTGlzdDxpbnQ+LCBUeXBlTGlzdDxpbnQ+Pjo6dmFsdWUgZm9yOiB0cnVlCkV4Y2VwdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aXRoIG1lc3NhZ2U6ICdhbnN3ZXIgOj0gNDInIHdpdGggMSBtZXNzYWdlOiAnZXhwZWN0ZWQgZXhjZXB0aW9uJwpFeGNlcHRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdW5leHBlY3RlZCBleGNlcHRpb24gd2l0aCBtZXNzYWdlOiAnYW5zd2VyIDo9IDQyJzsgZXhwcmVzc2lvbiB3YXM6IHRoaXNUaHJvd3MoKSB3aXRoIDEgbWVzc2FnZTogJ2V4cGVjdGVkIGV4Y2VwdGlvbicKRXhjZXB0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRoaXNUaHJvd3MoKSB3aXRoIDEgbWVzc2FnZTogJ2Fuc3dlciA6PSA0MicKQ29tcGlsYXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogNDIgPT0gZiBmb3I6IDQyID09IHs/fQpDb21waWxhdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBhID09IHQgZm9yOiAzID09IDMKQ29tcGlsYXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYSA9PSB0IGZvcjogMyA9PSAzCkNvbXBpbGF0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRocm93c19pbnQodHJ1ZSkKQ29tcGlsYXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGhyb3dzX2ludCh0cnVlKSwgaW50CkNvbXBpbGF0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRocm93c19pbnQoZmFsc2UpCkNvbXBpbGF0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICJhYWEiLCBDYXRjaDo6RW5kc1dpdGgoImFhYSIpIGZvcjogImFhYSIgZW5kcyB3aXRoOiAiYWFhIgpDb21waWxhdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZW1wbGF0ZWRfdGVzdHM8aW50PigzKSBmb3I6IHRydWUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBmKCkgPT0gMCBmb3I6IDEgPT0gMApNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVycm5vID09IDEgZm9yOiAxID09IDEKQ29tcGlsYXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA9PSA0IGZvcjogez99ID09IDQgd2l0aCAxIG1lc3NhZ2U6ICdkdW1teSA6PSAwJwpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHdpdGggMSBtZXNzYWdlOiAnRXZlcnl0aGluZyBpcyBPSycKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB3aXRoIDEgbWVzc2FnZTogJ0V2ZXJ5dGhpbmcgaXMgT0snCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogd2l0aCAxIG1lc3NhZ2U6ICdFdmVyeXRoaW5nIGlzIE9LJwpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHdpdGggMSBtZXNzYWdlOiAnRXZlcnl0aGluZyBpcyBPSycKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB3aXRoIDEgbWVzc2FnZTogJ0V2ZXJ5dGhpbmcgaXMgT0snCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBmYWxzZSAhPSBmYWxzZQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdHJ1ZSAhPSB0cnVlCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiAhdHJ1ZSBmb3I6IGZhbHNlCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiAhKHRydWUpIGZvcjogIXRydWUKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6ICF0cnVlVmFsdWUgZm9yOiBmYWxzZQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogISh0cnVlVmFsdWUpIGZvcjogIXRydWUKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6ICEoMSA9PSAxKSBmb3I6IGZhbHNlCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiAhKDEgPT0gMSkKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGZhbHNlID09IGZhbHNlCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0cnVlID09IHRydWUKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICFmYWxzZSBmb3I6IHRydWUKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoZmFsc2UpIGZvcjogIWZhbHNlCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAhZmFsc2VWYWx1ZSBmb3I6IHRydWUKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoZmFsc2VWYWx1ZSkgZm9yOiAhZmFsc2UKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoMSA9PSAyKSBmb3I6IHRydWUKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoMSA9PSAyKQpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaXNfdHJ1ZTx0cnVlPjo6dmFsdWUgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdHJ1ZSA9PSBpc190cnVlPHRydWU+Ojp2YWx1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaXNfdHJ1ZTxmYWxzZT46OnZhbHVlID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGZhbHNlID09IGlzX3RydWU8ZmFsc2U+Ojp2YWx1ZSBmb3I6IGZhbHNlID09IGZhbHNlClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAhaXNfdHJ1ZTxmYWxzZT46OnZhbHVlIGZvcjogdHJ1ZQpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogISFpc190cnVlPHRydWU+Ojp2YWx1ZSBmb3I6IHRydWUKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGlzX3RydWU8dHJ1ZT46OnZhbHVlIGZvcjogdHJ1ZQpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogIShpc190cnVlPGZhbHNlPjo6dmFsdWUpIGZvcjogIWZhbHNlCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAxIDwgNApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNCA8IDcKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDEgPCA3CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAxIDwgNApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNCA8IDgKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDEgPCA4CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAxIDwgNApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNCA8IDkKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDEgPCA5CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAxIDwgNQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNSA8IDcKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDEgPCA3CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAxIDwgNQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNSA8IDgKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDEgPCA4CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAxIDwgNQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNSA8IDkKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDEgPCA5CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAxIDwgNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNiA8IDcKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDEgPCA3CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAxIDwgNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNiA8IDgKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDEgPCA4CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAxIDwgNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNiA8IDkKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDEgPCA5CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAyIDwgNApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNCA8IDcKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDIgPCA3CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAyIDwgNApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNCA8IDgKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDIgPCA4CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAyIDwgNApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNCA8IDkKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDIgPCA5CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAyIDwgNQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNSA8IDcKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDIgPCA3CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAyIDwgNQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNSA8IDgKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDIgPCA4CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAyIDwgNQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNSA8IDkKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDIgPCA5CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAyIDwgNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNiA8IDcKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDIgPCA3CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAyIDwgNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNiA8IDgKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDIgPCA4CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAyIDwgNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNiA8IDkKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDIgPCA5CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAzIDwgNApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNCA8IDcKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDMgPCA3CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAzIDwgNApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNCA8IDgKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDMgPCA4CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAzIDwgNApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNCA8IDkKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDMgPCA5CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAzIDwgNQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNSA8IDcKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDMgPCA3CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAzIDwgNQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNSA8IDgKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDMgPCA4CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAzIDwgNQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNSA8IDkKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDMgPCA5CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAzIDwgNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNiA8IDcKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDMgPCA3CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAzIDwgNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNiA8IDgKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDMgPCA4CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA8IHkgZm9yOiAzIDwgNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHkgPCB6IGZvcjogNiA8IDkKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4IDwgeiBmb3I6IDMgPCA5CkNsYXNzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHMgPT0gIndvcmxkIiBmb3I6ICJoZWxsbyIgPT0gIndvcmxkIgpDbGFzcy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzID09ICJoZWxsbyIgZm9yOiAiaGVsbG8iID09ICJoZWxsbyIKQ2xhc3MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogVGVtcGxhdGVfRml4dHVyZV8yPFRlc3RUeXBlPjo6bV9hLnNpemUoKSA9PSAxIGZvcjogMCA9PSAxCkNsYXNzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IFRlbXBsYXRlX0ZpeHR1cmVfMjxUZXN0VHlwZT46Om1fYS5zaXplKCkgPT0gMSBmb3I6IDAgPT0gMQpDbGFzcy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBUZW1wbGF0ZV9GaXh0dXJlXzI8VGVzdFR5cGU+OjptX2Euc2l6ZSgpID09IDEgZm9yOiAwID09IDEKQ2xhc3MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogVGVtcGxhdGVfRml4dHVyZV8yPFRlc3RUeXBlPjo6bV9hLnNpemUoKSA9PSAxIGZvcjogMCA9PSAxCkNsYXNzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IFRlbXBsYXRlX0ZpeHR1cmVfMjxUZXN0VHlwZT46Om1fYS5zaXplKCkgPT0gMCBmb3I6IDAgPT0gMApDbGFzcy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBUZW1wbGF0ZV9GaXh0dXJlXzI8VGVzdFR5cGU+OjptX2Euc2l6ZSgpID09IDAgZm9yOiAwID09IDAKQ2xhc3MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogVGVtcGxhdGVfRml4dHVyZV8yPFRlc3RUeXBlPjo6bV9hLnNpemUoKSA9PSAwIGZvcjogMCA9PSAwCkNsYXNzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IFRlbXBsYXRlX0ZpeHR1cmVfMjxUZXN0VHlwZT46Om1fYS5zaXplKCkgPT0gMCBmb3I6IDAgPT0gMApDbGFzcy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBUZW1wbGF0ZV9GaXh0dXJlPFRlc3RUeXBlPjo6bV9hID09IDIgZm9yOiAxLjAgPT0gMgpDbGFzcy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBUZW1wbGF0ZV9GaXh0dXJlPFRlc3RUeXBlPjo6bV9hID09IDIgZm9yOiAxLjBmID09IDIKQ2xhc3MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogVGVtcGxhdGVfRml4dHVyZTxUZXN0VHlwZT46Om1fYSA9PSAyIGZvcjogMSA9PSAyCkNsYXNzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IFRlbXBsYXRlX0ZpeHR1cmU8VGVzdFR5cGU+OjptX2EgPT0gMSBmb3I6IDEuMCA9PSAxCkNsYXNzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IFRlbXBsYXRlX0ZpeHR1cmU8VGVzdFR5cGU+OjptX2EgPT0gMSBmb3I6IDEuMGYgPT0gMQpDbGFzcy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBUZW1wbGF0ZV9GaXh0dXJlPFRlc3RUeXBlPjo6bV9hID09IDEgZm9yOiAxID09IDEKQ2xhc3MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogbV9hID09IDIgZm9yOiAxID09IDIKQ2xhc3MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogbV9hID09IDEgZm9yOiAxID09IDEKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4LnNpemUoKSA9PSAwIGZvcjogMCA9PSAwCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeC5zaXplKCkgPT0gMCBmb3I6IDAgPT0gMApNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHguc2l6ZSgpID09IDAgZm9yOiAwID09IDAKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB4LnNpemUoKSA9PSAwIGZvcjogMCA9PSAwCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkID09IDEuMjNfYSBmb3I6IDEuMjMgPT0gQXBwcm94KCAxLjIzICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGQgIT0gMS4yMl9hIGZvcjogMS4yMyAhPSBBcHByb3goIDEuMjIgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogLWQgPT0gLTEuMjNfYSBmb3I6IC0xLjIzID09IEFwcHJveCggLTEuMjMgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZCA9PSAxLjJfYSAuZXBzaWxvbiguMSkgZm9yOiAxLjIzID09IEFwcHJveCggMS4yICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGQgIT0gMS4yX2EgLmVwc2lsb24oLjAwMSkgZm9yOiAxLjIzICE9IEFwcHJveCggMS4yICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGQgPT0gMV9hIC5lcHNpbG9uKC4zKSBmb3I6IDEuMjMgPT0gQXBwcm94KCAxLjAgKQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHdpdGggMSBtZXNzYWdlOiAndGhhdCdzIG5vdCBmbHlpbmcgLSB0aGF0J3MgZmFpbGluZyBpbiBzdHlsZScKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBleHBsaWNpdGx5IHdpdGggMSBtZXNzYWdlOiAndG8gaW5maW5pdHkgYW5kIGJleW9uZCcKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6ICZvMSA9PSAmbzIgZm9yOiAweDxoZXggZGlnaXRzPiA9PSAweDxoZXggZGlnaXRzPgpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogbzEgPT0gbzIgZm9yOiB7P30gPT0gez99CkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAxMDQuMCAhPSBBcHByb3goMTAwLjApIGZvcjogMTA0LjAgIT0gQXBwcm94KCAxMDAuMCApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAxMDQuMCA9PSBBcHByb3goMTAwLjApLm1hcmdpbig1KSBmb3I6IDEwNC4wID09IEFwcHJveCggMTAwLjAgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMTA0LjAgPT0gQXBwcm94KDEwMC4wKS5tYXJnaW4oNCkgZm9yOiAxMDQuMCA9PSBBcHByb3goIDEwMC4wICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDEwNC4wICE9IEFwcHJveCgxMDAuMCkubWFyZ2luKDMpIGZvcjogMTA0LjAgIT0gQXBwcm94KCAxMDAuMCApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAxMDAuMyAhPSBBcHByb3goMTAwLjApIGZvcjogMTAwLjMgIT0gQXBwcm94KCAxMDAuMCApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAxMDAuMyA9PSBBcHByb3goMTAwLjApLm1hcmdpbigwLjUpIGZvcjogMTAwLjMgPT0gQXBwcm94KCAxMDAuMCApClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpKysgPT0gNyBmb3I6IDcgPT0gNwpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaSsrID09IDggZm9yOiA4ID09IDgKRXhjZXB0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDEgPT0gMQpFeGNlcHRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdW5leHBlY3RlZCBleGNlcHRpb24gd2l0aCBtZXNzYWdlOiAndW5leHBlY3RlZCBleGNlcHRpb24nOyBleHByZXNzaW9uIHdhczoge1Vua25vd24gZXhwcmVzc2lvbiBhZnRlciB0aGUgcmVwb3J0ZWQgbGluZX0KVmFyaWFkaWNNYWNyb3MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogd2l0aCAxIG1lc3NhZ2U6ICdhbm9ueW1vdXMgdGVzdCBjYXNlJwpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogQXBwcm94KDApLm1hcmdpbigwKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogQXBwcm94KDApLm1hcmdpbigxMjM0NjU2KQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogQXBwcm94KDApLm1hcmdpbigtMiksIHN0ZDo6ZG9tYWluX2Vycm9yCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBBcHByb3goMCkuZXBzaWxvbigwKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogQXBwcm94KDApLmVwc2lsb24oMSkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IEFwcHJveCgwKS5lcHNpbG9uKC0wLjAwMSksIHN0ZDo6ZG9tYWluX2Vycm9yCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBBcHByb3goMCkuZXBzaWxvbigxLjAwMDEpLCBzdGQ6OmRvbWFpbl9lcnJvcgpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMC4yNWYgPT0gQXBwcm94KDAuMGYpLm1hcmdpbigwLjI1ZikgZm9yOiAwLjI1ZiA9PSBBcHByb3goIDAuMCApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAwLjBmID09IEFwcHJveCgwLjI1ZikubWFyZ2luKDAuMjVmKSBmb3I6IDAuMGYgPT0gQXBwcm94KCAwLjI1ICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDAuNWYgPT0gQXBwcm94KDAuMjVmKS5tYXJnaW4oMC4yNWYpIGZvcjogMC41ZiA9PSBBcHByb3goIDAuMjUgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMjQ1LjBmID09IEFwcHJveCgyNDUuMjVmKS5tYXJnaW4oMC4yNWYpIGZvcjogMjQ1LjBmID09IEFwcHJveCggMjQ1LjI1ICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDI0NS41ZiA9PSBBcHByb3goMjQ1LjI1ZikubWFyZ2luKDAuMjVmKSBmb3I6IDI0NS41ZiA9PSBBcHByb3goIDI0NS4yNSApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkaXZpZGUoIDIyLCA3ICkgPT0gQXBwcm94KCAzLjE0MSApLmVwc2lsb24oIDAuMDAxICkgZm9yOiAzLjE0Mjg1NzE0MjkgPT0gQXBwcm94KCAzLjE0MSApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkaXZpZGUoIDIyLCA3ICkgIT0gQXBwcm94KCAzLjE0MSApLmVwc2lsb24oIDAuMDAwMSApIGZvcjogMy4xNDI4NTcxNDI5ICE9IEFwcHJveCggMy4xNDEgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZCAhPSBBcHByb3goIDEuMjMxICkgZm9yOiAxLjIzICE9IEFwcHJveCggMS4yMzEgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZCA9PSBBcHByb3goIDEuMjMxICkuZXBzaWxvbiggMC4xICkgZm9yOiAxLjIzID09IEFwcHJveCggMS4yMzEgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMS4yM2YgPT0gQXBwcm94KCAxLjIzZiApIGZvcjogMS4yM2YgPT0gQXBwcm94KCAxLjIzMDAwMDAxOTEgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMC4wZiA9PSBBcHByb3goIDAuMGYgKSBmb3I6IDAuMGYgPT0gQXBwcm94KCAwLjAgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMSA9PSBBcHByb3goIDEgKSBmb3I6IDEgPT0gQXBwcm94KCAxLjAgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMCA9PSBBcHByb3goIDAgKSBmb3I6IDAgPT0gQXBwcm94KCAwLjAgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMS4wZiA9PSBBcHByb3goIDEgKSBmb3I6IDEuMGYgPT0gQXBwcm94KCAxLjAgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMCA9PSBBcHByb3goIGRaZXJvKSBmb3I6IDAgPT0gQXBwcm94KCAwLjAgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMCA9PSBBcHByb3goIGRTbWFsbCApLm1hcmdpbiggMC4wMDEgKSBmb3I6IDAgPT0gQXBwcm94KCAwLjAwMDAxICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDEuMjM0ZiA9PSBBcHByb3goIGRNZWRpdW0gKSBmb3I6IDEuMjM0ZiA9PSBBcHByb3goIDEuMjM0ICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGRNZWRpdW0gPT0gQXBwcm94KCAxLjIzNGYgKSBmb3I6IDEuMjM0ID09IEFwcHJveCggMS4yMzM5OTk5Njc2ICkKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMSwgUHJlZGljYXRlPGludD4oYWx3YXlzVHJ1ZSwgImFsd2F5cyB0cnVlIikgZm9yOiAxIG1hdGNoZXMgcHJlZGljYXRlOiAiYWx3YXlzIHRydWUiCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDEsICFQcmVkaWNhdGU8aW50PihhbHdheXNGYWxzZSwgImFsd2F5cyBmYWxzZSIpIGZvcjogMSBub3QgbWF0Y2hlcyBwcmVkaWNhdGU6ICJhbHdheXMgZmFsc2UiCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICJIZWxsbyBvbGxlSCIsIFByZWRpY2F0ZTxzdGQ6OnN0cmluZz4oIFtdIChzdGQ6OnN0cmluZyBjb25zdCYgc3RyKSAtPiBib29sIHsgcmV0dXJuIHN0ci5mcm9udCgpID09IHN0ci5iYWNrKCk7IH0sICJGaXJzdCBhbmQgbGFzdCBjaGFyYWN0ZXIgc2hvdWxkIGJlIGVxdWFsIikgZm9yOiAiSGVsbG8gb2xsZUgiIG1hdGNoZXMgcHJlZGljYXRlOiAiRmlyc3QgYW5kIGxhc3QgY2hhcmFjdGVyIHNob3VsZCBiZSBlcXVhbCIKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogIlRoaXMgd291bGRuJ3QgcGFzcyIsICFQcmVkaWNhdGU8c3RkOjpzdHJpbmc+KCBbXSAoc3RkOjpzdHJpbmcgY29uc3QmIHN0cikgLT4gYm9vbCB7IHJldHVybiBzdHIuZnJvbnQoKSA9PSBzdHIuYmFjaygpOyB9ICkgZm9yOiAiVGhpcyB3b3VsZG4ndCBwYXNzIiBub3QgbWF0Y2hlcyB1bmRlc2NyaWJlZCBwcmVkaWNhdGUKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRydWUKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRydWUKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRydWUKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRydWUKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRydWUKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRydWUKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IElORklOSVRZID09IEFwcHJveChJTkZJTklUWSkgZm9yOiBpbmZmID09IEFwcHJveCggaW5mICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IE5BTiAhPSBBcHByb3goTkFOKSBmb3I6IG5hbmYgIT0gQXBwcm94KCBuYW4gKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogIShOQU4gPT0gQXBwcm94KE5BTikpIGZvcjogIShuYW5mID09IEFwcHJveCggbmFuICkpClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB5LnYgPT0gMCBmb3I6IDAgPT0gMApUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMCA9PSB5LnYgZm9yOiAwID09IDAKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB3aXRoIDcgbWVzc2FnZXM6ICdhIDo9IDEnIGFuZCAnYiA6PSAyJyBhbmQgJ2MgOj0gMycgYW5kICdhICsgYiA6PSAzJyBhbmQgJ2ErYiA6PSAzJyBhbmQgJ2MgPiBiIDo9IHRydWUnIGFuZCAnYSA9PSAxIDo9IHRydWUnCk1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogd2l0aCA3IG1lc3NhZ2VzOiAnc3RkOjp2ZWN0b3I8aW50PnsxLCAyLCAzfVswLCAxLCAyXSA6PSAzJyBhbmQgJ3N0ZDo6dmVjdG9yPGludD57MSwgMiwgM31bKDAsIDEpXSA6PSAyJyBhbmQgJ3N0ZDo6dmVjdG9yPGludD57MSwgMiwgM31bMF0gOj0gMScgYW5kICcoaGVscGVyXzE0MzY8aW50LCBpbnQ+ezEyLCAtMTJ9KSA6PSB7IDEyLCAtMTIgfScgYW5kICcoaGVscGVyXzE0MzY8aW50LCBpbnQ+KC0xMiwgMTIpKSA6PSB7IC0xMiwgMTIgfScgYW5kICcoMSwgMikgOj0gMicgYW5kICcoMiwgMykgOj0gMycKVG9TdHJpbmdHZW5lcmFsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRydWUgd2l0aCAxIG1lc3NhZ2U6ICdpIDo9IDInClRvU3RyaW5nR2VuZXJhbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0cnVlIHdpdGggMSBtZXNzYWdlOiAnMycKVG9TdHJpbmdHZW5lcmFsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRhYiA9PSAnXHQnIGZvcjogJ1x0JyA9PSAnXHQnClRvU3RyaW5nR2VuZXJhbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBuZXdsaW5lID09ICdcbicgZm9yOiAnXG4nID09ICdcbicKVG9TdHJpbmdHZW5lcmFsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNhcnJfcmV0dXJuID09ICdccicgZm9yOiAnXHInID09ICdccicKVG9TdHJpbmdHZW5lcmFsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGZvcm1fZmVlZCA9PSAnXGYnIGZvcjogJ1xmJyA9PSAnXGYnClRvU3RyaW5nR2VuZXJhbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGFjZSA9PSAnICcgZm9yOiAnICcgPT0gJyAnClRvU3RyaW5nR2VuZXJhbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjID09IGNoYXJzW2ldIGZvcjogJ2EnID09ICdhJwpUb1N0cmluZ0dlbmVyYWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYyA9PSBjaGFyc1tpXSBmb3I6ICd6JyA9PSAneicKVG9TdHJpbmdHZW5lcmFsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGMgPT0gY2hhcnNbaV0gZm9yOiAnQScgPT0gJ0EnClRvU3RyaW5nR2VuZXJhbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjID09IGNoYXJzW2ldIGZvcjogJ1onID09ICdaJwpUb1N0cmluZ0dlbmVyYWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogbnVsbF90ZXJtaW5hdG9yID09ICdcMCcgZm9yOiAwID09IDAKVG9TdHJpbmdHZW5lcmFsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGMgPT0gaSBmb3I6IDIgPT0gMgpUb1N0cmluZ0dlbmVyYWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYyA9PSBpIGZvcjogMyA9PSAzClRvU3RyaW5nR2VuZXJhbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjID09IGkgZm9yOiA0ID09IDQKVG9TdHJpbmdHZW5lcmFsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGMgPT0gaSBmb3I6IDUgPT0gNQpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3RkOjp2ZWN0b3I8Y29uc3RydWN0b3JfdGhyb3dzPntjb25zdHJ1Y3Rvcl90aHJvd3N7fSwgY29uc3RydWN0b3JfdGhyb3dze319ClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzdGQ6OnZlY3Rvcjxjb25zdHJ1Y3Rvcl90aHJvd3M+e2NvbnN0cnVjdG9yX3Rocm93c3t9LCBjb25zdHJ1Y3Rvcl90aHJvd3N7fX0KVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHN0ZDo6dmVjdG9yPGludD57MSwgMiwgM30gPT0gc3RkOjp2ZWN0b3I8aW50PnsxLCAyLCAzfQpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3RkOjp2ZWN0b3I8aW50PnsxLCAyLCAzfSA9PSBzdGQ6OnZlY3RvcjxpbnQ+ezEsIDIsIDN9ClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzdGQ6OnZlY3RvcjxpbnQ+ezEsIDJ9ID09IHN0ZDo6dmVjdG9yPGludD57MSwgMn0gZm9yOiB7IDEsIDIgfSA9PSB7IDEsIDIgfQpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3RkOjp2ZWN0b3I8aW50PnsxLCAyfSA9PSBzdGQ6OnZlY3RvcjxpbnQ+ezEsIDJ9IGZvcjogeyAxLCAyIH0gPT0geyAxLCAyIH0KVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoc3RkOjp2ZWN0b3I8aW50PnsxLCAyfSA9PSBzdGQ6OnZlY3RvcjxpbnQ+ezEsIDIsIDN9KSBmb3I6ICEoeyAxLCAyIH0gPT0geyAxLCAyLCAzIH0pClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAhKHN0ZDo6dmVjdG9yPGludD57MSwgMn0gPT0gc3RkOjp2ZWN0b3I8aW50PnsxLCAyLCAzfSkgZm9yOiAhKHsgMSwgMiB9ID09IHsgMSwgMiwgMyB9KQpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3RkOjp2ZWN0b3I8aW50PnsxLCAyfSA9PSBzdGQ6OnZlY3RvcjxpbnQ+ezEsIDJ9IGZvcjogeyAxLCAyIH0gPT0geyAxLCAyIH0KVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHN0ZDo6dmVjdG9yPGludD57MSwgMn0gPT0gc3RkOjp2ZWN0b3I8aW50PnsxLCAyfSBmb3I6IHsgMSwgMiB9ID09IHsgMSwgMiB9ClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0cnVlClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzdGQ6OnZlY3RvcjxpbnQ+ezEsIDJ9ID09IHN0ZDo6dmVjdG9yPGludD57MSwgMn0gZm9yOiB7IDEsIDIgfSA9PSB7IDEsIDIgfQpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYSBmb3I6IDB4PGhleCBkaWdpdHM+ClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBhID09ICZmb28gZm9yOiAweDxoZXggZGlnaXRzPiA9PSAweDxoZXggZGlnaXRzPgpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGQgPT0gQXBwcm94KDEwLjApIGZvcjogU3Ryb25nRG91YmxlVHlwZWRlZigxMCkgPT0gQXBwcm94KCAxMC4wICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IEFwcHJveCgxMC4wKSA9PSB0ZCBmb3I6IEFwcHJveCggMTAuMCApID09IFN0cm9uZ0RvdWJsZVR5cGVkZWYoMTApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZCAhPSBBcHByb3goMTEuMCkgZm9yOiBTdHJvbmdEb3VibGVUeXBlZGVmKDEwKSAhPSBBcHByb3goIDExLjAgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogQXBwcm94KDExLjApICE9IHRkIGZvcjogQXBwcm94KCAxMS4wICkgIT0gU3Ryb25nRG91YmxlVHlwZWRlZigxMCkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRkIDw9IEFwcHJveCgxMC4wKSBmb3I6IFN0cm9uZ0RvdWJsZVR5cGVkZWYoMTApIDw9IEFwcHJveCggMTAuMCApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZCA8PSBBcHByb3goMTEuMCkgZm9yOiBTdHJvbmdEb3VibGVUeXBlZGVmKDEwKSA8PSBBcHByb3goIDExLjAgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogQXBwcm94KDEwLjApIDw9IHRkIGZvcjogQXBwcm94KCAxMC4wICkgPD0gU3Ryb25nRG91YmxlVHlwZWRlZigxMCkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IEFwcHJveCg5LjApIDw9IHRkIGZvcjogQXBwcm94KCA5LjAgKSA8PSBTdHJvbmdEb3VibGVUeXBlZGVmKDEwKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGQgPj0gQXBwcm94KDkuMCkgZm9yOiBTdHJvbmdEb3VibGVUeXBlZGVmKDEwKSA+PSBBcHByb3goIDkuMCApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZCA+PSBBcHByb3godGQpIGZvcjogU3Ryb25nRG91YmxlVHlwZWRlZigxMCkgPj0gQXBwcm94KCAxMC4wICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IEFwcHJveCh0ZCkgPj0gdGQgZm9yOiBBcHByb3goIDEwLjAgKSA+PSBTdHJvbmdEb3VibGVUeXBlZGVmKDEwKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogQXBwcm94KDExLjApID49IHRkIGZvcjogQXBwcm94KCAxMS4wICkgPj0gU3Ryb25nRG91YmxlVHlwZWRlZigxMCkKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDU0ID09IDYqOSBmb3I6IDU0ID09IDU0CkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAoIC0xID4gMnUgKSBmb3I6IHRydWUKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IC0xID4gMnUgZm9yOiAtMSA+IDIKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICggMnUgPCAtMSApIGZvcjogdHJ1ZQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMnUgPCAtMSBmb3I6IDIgPCAtMQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogKCBtaW5JbnQgPiAydSApIGZvcjogdHJ1ZQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogbWluSW50ID4gMnUgZm9yOiAtMjE0NzQ4MzY0OCA+IDIKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGkgPT0gMSBmb3I6IDEgPT0gMQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdWkgPT0gMiBmb3I6IDIgPT0gMgpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogbCA9PSAzIGZvcjogMyA9PSAzCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB1bCA9PSA0IGZvcjogNCA9PSA0CkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjID09IDUgZm9yOiA1ID09IDUKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHVjID09IDYgZm9yOiA2ID09IDYKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDEgPT0gaSBmb3I6IDEgPT0gMQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMiA9PSB1aSBmb3I6IDIgPT0gMgpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMyA9PSBsIGZvcjogMyA9PSAzCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA0ID09IHVsIGZvcjogNCA9PSA0CkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA1ID09IGMgZm9yOiA1ID09IDUKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDYgPT0gdWMgZm9yOiA2ID09IDYKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IChzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KSgpID4gdWwgZm9yOiA0Mjk0OTY3Mjk1ICgweDxoZXggZGlnaXRzPikgPiA0Ck1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHRlc3RTdHJpbmdGb3JNYXRjaGluZygpLCBDb250YWlucygibm90IHRoZXJlIiwgQ2F0Y2g6OkNhc2VTZW5zaXRpdmU6Ok5vKSBmb3I6ICJ0aGlzIHN0cmluZyBjb250YWlucyAnYWJjJyBhcyBhIHN1YnN0cmluZyIgY29udGFpbnM6ICJub3QgdGhlcmUiIChjYXNlIGluc2Vuc2l0aXZlKQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB0ZXN0U3RyaW5nRm9yTWF0Y2hpbmcoKSwgQ29udGFpbnMoIlNUUklORyIpIGZvcjogInRoaXMgc3RyaW5nIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIiBjb250YWluczogIlNUUklORyIKRXhjZXB0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdpdGggbWVzc2FnZTogJ2N1c3RvbSBleGNlcHRpb24gLSBub3Qgc3RkJzsgZXhwcmVzc2lvbiB3YXM6IHRocm93Q3VzdG9tKCkKRXhjZXB0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdpdGggbWVzc2FnZTogJ2N1c3RvbSBleGNlcHRpb24gLSBub3Qgc3RkJzsgZXhwcmVzc2lvbiB3YXM6IHRocm93Q3VzdG9tKCksIHN0ZDo6ZXhjZXB0aW9uCkV4Y2VwdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aXRoIG1lc3NhZ2U6ICdjdXN0b20gc3RkIGV4Y2VwdGlvbicKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDEwMS4wMDAwMDEgIT0gQXBwcm94KDEwMCkuZXBzaWxvbigwLjAxKSBmb3I6IDEwMS4wMDAwMDEgIT0gQXBwcm94KCAxMDAuMCApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzdGQ6OnBvdygxMCwgLTUpICE9IEFwcHJveChzdGQ6OnBvdygxMCwgLTcpKSBmb3I6IDAuMDAwMDEgIT0gQXBwcm94KCAwLjAwMDAwMDEgKQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB0ZXN0U3RyaW5nRm9yTWF0Y2hpbmcoKSwgRW5kc1dpdGgoIlN1YnN0cmluZyIpIGZvcjogInRoaXMgc3RyaW5nIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIiBlbmRzIHdpdGg6ICJTdWJzdHJpbmciCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHRlc3RTdHJpbmdGb3JNYXRjaGluZygpLCBFbmRzV2l0aCgidGhpcyIsIENhdGNoOjpDYXNlU2Vuc2l0aXZlOjpObykgZm9yOiAidGhpcyBzdHJpbmcgY29udGFpbnMgJ2FiYycgYXMgYSBzdWJzdHJpbmciIGVuZHMgd2l0aDogInRoaXMiIChjYXNlIGluc2Vuc2l0aXZlKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMTAxLjAxICE9IEFwcHJveCgxMDApLmVwc2lsb24oMC4wMSkgZm9yOiAxMDEuMDEgIT0gQXBwcm94KCAxMDAuMCApCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLmludF9zZXZlbiA9PSA2IGZvcjogNyA9PSA2CkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLmludF9zZXZlbiA9PSA4IGZvcjogNyA9PSA4CkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLmludF9zZXZlbiA9PSAwIGZvcjogNyA9PSAwCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLmZsb2F0X25pbmVfcG9pbnRfb25lID09IEFwcHJveCggOS4xMWYgKSBmb3I6IDkuMWYgPT0gQXBwcm94KCA5LjEwOTk5OTY1NjcgKQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZGF0YS5mbG9hdF9uaW5lX3BvaW50X29uZSA9PSBBcHByb3goIDkuMGYgKSBmb3I6IDkuMWYgPT0gQXBwcm94KCA5LjAgKQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZGF0YS5mbG9hdF9uaW5lX3BvaW50X29uZSA9PSBBcHByb3goIDEgKSBmb3I6IDkuMWYgPT0gQXBwcm94KCAxLjAgKQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZGF0YS5mbG9hdF9uaW5lX3BvaW50X29uZSA9PSBBcHByb3goIDAgKSBmb3I6IDkuMWYgPT0gQXBwcm94KCAwLjAgKQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZGF0YS5kb3VibGVfcGkgPT0gQXBwcm94KCAzLjE0MTUgKSBmb3I6IDMuMTQxNTkyNjUzNSA9PSBBcHByb3goIDMuMTQxNSApCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLnN0cl9oZWxsbyA9PSAiZ29vZGJ5ZSIgZm9yOiAiaGVsbG8iID09ICJnb29kYnllIgpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZGF0YS5zdHJfaGVsbG8gPT0gImhlbGwiIGZvcjogImhlbGxvIiA9PSAiaGVsbCIKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGRhdGEuc3RyX2hlbGxvID09ICJoZWxsbzEiIGZvcjogImhlbGxvIiA9PSAiaGVsbG8xIgpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZGF0YS5zdHJfaGVsbG8uc2l6ZSgpID09IDYgZm9yOiA1ID09IDYKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHggPT0gQXBwcm94KCAxLjMwMSApIGZvcjogMS4zID09IEFwcHJveCggMS4zMDEgKQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5pbnRfc2V2ZW4gPT0gNyBmb3I6IDcgPT0gNwpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5mbG9hdF9uaW5lX3BvaW50X29uZSA9PSBBcHByb3goIDkuMWYgKSBmb3I6IDkuMWYgPT0gQXBwcm94KCA5LjEwMDAwMDM4MTUgKQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5kb3VibGVfcGkgPT0gQXBwcm94KCAzLjE0MTU5MjY1MzUgKSBmb3I6IDMuMTQxNTkyNjUzNSA9PSBBcHByb3goIDMuMTQxNTkyNjUzNSApCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkYXRhLnN0cl9oZWxsbyA9PSAiaGVsbG8iIGZvcjogImhlbGxvIiA9PSAiaGVsbG8iCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAiaGVsbG8iID09IGRhdGEuc3RyX2hlbGxvIGZvcjogImhlbGxvIiA9PSAiaGVsbG8iCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkYXRhLnN0cl9oZWxsby5zaXplKCkgPT0gNSBmb3I6IDUgPT0gNQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogeCA9PSBBcHByb3goIDEuMyApIGZvcjogMS4zID09IEFwcHJveCggMS4zICkKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdFN0cmluZ0Zvck1hdGNoaW5nKCksIEVxdWFscygidGhpcyBzdHJpbmcgY29udGFpbnMgJ2FiYycgYXMgYSBzdWJzdHJpbmciKSBmb3I6ICJ0aGlzIHN0cmluZyBjb250YWlucyAnYWJjJyBhcyBhIHN1YnN0cmluZyIgZXF1YWxzOiAidGhpcyBzdHJpbmcgY29udGFpbnMgJ2FiYycgYXMgYSBzdWJzdHJpbmciCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RTdHJpbmdGb3JNYXRjaGluZygpLCBFcXVhbHMoInRoaXMgc3RyaW5nIGNvbnRhaW5zICdBQkMnIGFzIGEgc3Vic3RyaW5nIiwgQ2F0Y2g6OkNhc2VTZW5zaXRpdmU6Ok5vKSBmb3I6ICJ0aGlzIHN0cmluZyBjb250YWlucyAnYWJjJyBhcyBhIHN1YnN0cmluZyIgZXF1YWxzOiAidGhpcyBzdHJpbmcgY29udGFpbnMgJ2FiYycgYXMgYSBzdWJzdHJpbmciIChjYXNlIGluc2Vuc2l0aXZlKQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB0ZXN0U3RyaW5nRm9yTWF0Y2hpbmcoKSwgRXF1YWxzKCJ0aGlzIHN0cmluZyBjb250YWlucyAnQUJDJyBhcyBhIHN1YnN0cmluZyIpIGZvcjogInRoaXMgc3RyaW5nIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIiBlcXVhbHM6ICJ0aGlzIHN0cmluZyBjb250YWlucyAnQUJDJyBhcyBhIHN1YnN0cmluZyIKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdGVzdFN0cmluZ0Zvck1hdGNoaW5nKCksIEVxdWFscygic29tZXRoaW5nIGVsc2UiLCBDYXRjaDo6Q2FzZVNlbnNpdGl2ZTo6Tm8pIGZvcjogInRoaXMgc3RyaW5nIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIiBlcXVhbHM6ICJzb21ldGhpbmcgZWxzZSIgKGNhc2UgaW5zZW5zaXRpdmUpClRvU3RyaW5nR2VuZXJhbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShXaGF0RXhjZXB0aW9ue30pID09ICJUaGlzIGV4Y2VwdGlvbiBoYXMgb3ZlcnJpZGRlbiB3aGF0KCkgbWV0aG9kIiBmb3I6ICJUaGlzIGV4Y2VwdGlvbiBoYXMgb3ZlcnJpZGRlbiB3aGF0KCkgbWV0aG9kIgo9PQoiVGhpcyBleGNlcHRpb24gaGFzIG92ZXJyaWRkZW4gd2hhdCgpIG1ldGhvZCIKVG9TdHJpbmdHZW5lcmFsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDo6Q2F0Y2g6OkRldGFpbDo6c3RyaW5naWZ5KE9wZXJhdG9yRXhjZXB0aW9ue30pID09ICJPcGVyYXRvckV4Y2VwdGlvbiIgZm9yOiAiT3BlcmF0b3JFeGNlcHRpb24iID09ICJPcGVyYXRvckV4Y2VwdGlvbiIKVG9TdHJpbmdHZW5lcmFsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDo6Q2F0Y2g6OkRldGFpbDo6c3RyaW5naWZ5KFN0cmluZ01ha2VyRXhjZXB0aW9ue30pID09ICJTdHJpbmdNYWtlckV4Y2VwdGlvbiIgZm9yOiAiU3RyaW5nTWFrZXJFeGNlcHRpb24iCj09CiJTdHJpbmdNYWtlckV4Y2VwdGlvbiIKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZXhwZWN0ZWQgZXhjZXB0aW9uLCBnb3Qgbm9uZTsgZXhwcmVzc2lvbiB3YXM6IGRvZXNOb3RUaHJvdygpLCBTcGVjaWFsRXhjZXB0aW9uLCBFeGNlcHRpb25NYXRjaGVyezF9Ck1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGV4cGVjdGVkIGV4Y2VwdGlvbiwgZ290IG5vbmU7IGV4cHJlc3Npb24gd2FzOiBkb2VzTm90VGhyb3coKSwgU3BlY2lhbEV4Y2VwdGlvbiwgRXhjZXB0aW9uTWF0Y2hlcnsxfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aXRoIG1lc3NhZ2U6ICdVbmtub3duIGV4Y2VwdGlvbic7IGV4cHJlc3Npb24gd2FzOiB0aHJvd3NBc0ludCgxKSwgU3BlY2lhbEV4Y2VwdGlvbiwgRXhjZXB0aW9uTWF0Y2hlcnsxfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aXRoIG1lc3NhZ2U6ICdVbmtub3duIGV4Y2VwdGlvbic7IGV4cHJlc3Npb24gd2FzOiB0aHJvd3NBc0ludCgxKSwgU3BlY2lhbEV4Y2VwdGlvbiwgRXhjZXB0aW9uTWF0Y2hlcnsxfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB0aHJvd3MoMyksIFNwZWNpYWxFeGNlcHRpb24sIEV4Y2VwdGlvbk1hdGNoZXJ7MX0gZm9yOiBTcGVjaWFsRXhjZXB0aW9uOjp3aGF0IHNwZWNpYWwgZXhjZXB0aW9uIGhhcyB2YWx1ZSBvZiAxCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHRocm93cyg0KSwgU3BlY2lhbEV4Y2VwdGlvbiwgRXhjZXB0aW9uTWF0Y2hlcnsxfSBmb3I6IFNwZWNpYWxFeGNlcHRpb246OndoYXQgc3BlY2lhbCBleGNlcHRpb24gaGFzIHZhbHVlIG9mIDEKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGhyb3dzKDEpLCBTcGVjaWFsRXhjZXB0aW9uLCBFeGNlcHRpb25NYXRjaGVyezF9IGZvcjogU3BlY2lhbEV4Y2VwdGlvbjo6d2hhdCBzcGVjaWFsIGV4Y2VwdGlvbiBoYXMgdmFsdWUgb2YgMQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0aHJvd3MoMiksIFNwZWNpYWxFeGNlcHRpb24sIEV4Y2VwdGlvbk1hdGNoZXJ7Mn0gZm9yOiBTcGVjaWFsRXhjZXB0aW9uOjp3aGF0IHNwZWNpYWwgZXhjZXB0aW9uIGhhcyB2YWx1ZSBvZiAyCkV4Y2VwdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0aGlzVGhyb3dzKCksICJleHBlY3RlZCBleGNlcHRpb24iIGZvcjogImV4cGVjdGVkIGV4Y2VwdGlvbiIgZXF1YWxzOiAiZXhwZWN0ZWQgZXhjZXB0aW9uIgpFeGNlcHRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGhpc1Rocm93cygpLCBFcXVhbHMoICJleHBlY3RlRCBFeGNlcHRpb24iLCBDYXRjaDo6Q2FzZVNlbnNpdGl2ZTo6Tm8gKSBmb3I6ICJleHBlY3RlZCBleGNlcHRpb24iIGVxdWFsczogImV4cGVjdGVkIGV4Y2VwdGlvbiIgKGNhc2UgaW5zZW5zaXRpdmUpCkV4Y2VwdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0aGlzVGhyb3dzKCksIFN0YXJ0c1dpdGgoICJleHBlY3RlZCIgKSBmb3I6ICJleHBlY3RlZCBleGNlcHRpb24iIHN0YXJ0cyB3aXRoOiAiZXhwZWN0ZWQiCkV4Y2VwdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0aGlzVGhyb3dzKCksIEVuZHNXaXRoKCAiZXhjZXB0aW9uIiApIGZvcjogImV4cGVjdGVkIGV4Y2VwdGlvbiIgZW5kcyB3aXRoOiAiZXhjZXB0aW9uIgpFeGNlcHRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGhpc1Rocm93cygpLCBDb250YWlucyggImV4Y2VwdCIgKSBmb3I6ICJleHBlY3RlZCBleGNlcHRpb24iIGNvbnRhaW5zOiAiZXhjZXB0IgpFeGNlcHRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGhpc1Rocm93cygpLCBDb250YWlucyggImV4Q2VwdCIsIENhdGNoOjpDYXNlU2Vuc2l0aXZlOjpObyApIGZvcjogImV4cGVjdGVkIGV4Y2VwdGlvbiIgY29udGFpbnM6ICJleGNlcHQiIChjYXNlIGluc2Vuc2l0aXZlKQpFeGNlcHRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdW5leHBlY3RlZCBleGNlcHRpb24gd2l0aCBtZXNzYWdlOiAnZXhwZWN0ZWQgZXhjZXB0aW9uJzsgZXhwcmVzc2lvbiB3YXM6IHRoaXNUaHJvd3MoKSwgc3RkOjpzdHJpbmcKRXhjZXB0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGV4cGVjdGVkIGV4Y2VwdGlvbiwgZ290IG5vbmU7IGV4cHJlc3Npb24gd2FzOiB0aGlzRG9lc250VGhyb3coKSwgc3RkOjpkb21haW5fZXJyb3IKRXhjZXB0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdpdGggbWVzc2FnZTogJ2V4cGVjdGVkIGV4Y2VwdGlvbic7IGV4cHJlc3Npb24gd2FzOiB0aGlzVGhyb3dzKCkKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBleHBsaWNpdGx5IHdpdGggMSBtZXNzYWdlOiAnVGhpcyBpcyBhIGZhaWx1cmUnCk1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZXhwbGljaXRseQpNZXNzYWdlLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGV4cGxpY2l0bHkgd2l0aCAxIG1lc3NhZ2U6ICdUaGlzIGlzIGEgZmFpbHVyZScKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogd2FybmluZzogJ1RoaXMgbWVzc2FnZSBhcHBlYXJzIGluIHRoZSBvdXRwdXQnCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogRmFjdG9yaWFsKDApID09IDEgZm9yOiAxID09IDEKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBGYWN0b3JpYWwoMSkgPT0gMSBmb3I6IDEgPT0gMQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IEZhY3RvcmlhbCgyKSA9PSAyIGZvcjogMiA9PSAyCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogRmFjdG9yaWFsKDMpID09IDYgZm9yOiA2ID09IDYKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBGYWN0b3JpYWwoMTApID09IDM2Mjg4MDAgZm9yOiAzNjI4ODAwICgweDxoZXggZGlnaXRzPikgPT0gMzYyODgwMCAoMHg8aGV4IGRpZ2l0cz4pCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDEuLCBXaXRoaW5BYnMoMS4sIDApIGZvcjogMS4wIGlzIHdpdGhpbiAwLjAgb2YgMS4wCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDAuLCBXaXRoaW5BYnMoMS4sIDEpIGZvcjogMC4wIGlzIHdpdGhpbiAxLjAgb2YgMS4wCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDAuLCAhV2l0aGluQWJzKDEuLCAwLjk5KSBmb3I6IDAuMCBub3QgaXMgd2l0aGluIDAuOTkgb2YgMS4wCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDAuLCAhV2l0aGluQWJzKDEuLCAwLjk5KSBmb3I6IDAuMCBub3QgaXMgd2l0aGluIDAuOTkgb2YgMS4wCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IE5BTiwgIVdpdGhpbkFicyhOQU4sIDApIGZvcjogbmFuZiBub3QgaXMgd2l0aGluIDAuMCBvZiBuYW4KTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMTEuLCAhV2l0aGluQWJzKDEwLiwgMC41KSBmb3I6IDExLjAgbm90IGlzIHdpdGhpbiAwLjUgb2YgMTAuMApNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAxMC4sICFXaXRoaW5BYnMoMTEuLCAwLjUpIGZvcjogMTAuMCBub3QgaXMgd2l0aGluIDAuNSBvZiAxMS4wCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IC0xMC4sIFdpdGhpbkFicygtMTAuLCAwLjUpIGZvcjogLTEwLjAgaXMgd2l0aGluIDAuNSBvZiAtMTAuMApNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAtMTAuLCBXaXRoaW5BYnMoLTkuNiwgMC41KSBmb3I6IC0xMC4wIGlzIHdpdGhpbiAwLjUgb2YgLTkuNgpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAxLiwgV2l0aGluVUxQKDEuLCAwKSBmb3I6IDEuMCBpcyB3aXRoaW4gMCBVTFBzIG9mIDEuMApNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBuZXh0YWZ0ZXIoMS4sIDIuKSwgV2l0aGluVUxQKDEuLCAxKSBmb3I6IDEuMCBpcyB3aXRoaW4gMSBVTFBzIG9mIDEuMApNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBuZXh0YWZ0ZXIoMS4sIDAuKSwgV2l0aGluVUxQKDEuLCAxKSBmb3I6IDEuMCBpcyB3aXRoaW4gMSBVTFBzIG9mIDEuMApNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBuZXh0YWZ0ZXIoMS4sIDIuKSwgIVdpdGhpblVMUCgxLiwgMCkgZm9yOiAxLjAgbm90IGlzIHdpdGhpbiAwIFVMUHMgb2YgMS4wCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDEuLCBXaXRoaW5VTFAoMS4sIDApIGZvcjogMS4wIGlzIHdpdGhpbiAwIFVMUHMgb2YgMS4wCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IC0wLiwgV2l0aGluVUxQKDAuLCAwKSBmb3I6IC0wLjAgaXMgd2l0aGluIDAgVUxQcyBvZiAwLjAKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogTkFOLCAhV2l0aGluVUxQKE5BTiwgMTIzKSBmb3I6IG5hbmYgbm90IGlzIHdpdGhpbiAxMjMgVUxQcyBvZiBuYW5mCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDEuLCBXaXRoaW5BYnMoMS4sIDAuNSkgfHwgV2l0aGluVUxQKDIuLCAxKSBmb3I6IDEuMCAoIGlzIHdpdGhpbiAwLjUgb2YgMS4wIG9yIGlzIHdpdGhpbiAxIFVMUHMgb2YgMi4wICkKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMS4sIFdpdGhpbkFicygyLiwgMC41KSB8fCBXaXRoaW5VTFAoMS4sIDApIGZvcjogMS4wICggaXMgd2l0aGluIDAuNSBvZiAyLjAgb3IgaXMgd2l0aGluIDAgVUxQcyBvZiAxLjAgKQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBOQU4sICEoV2l0aGluQWJzKE5BTiwgMTAwKSB8fCBXaXRoaW5VTFAoTkFOLCAxMjMpKSBmb3I6IG5hbmYgbm90ICggaXMgd2l0aGluIDEwMC4wIG9mIG5hbiBvciBpcyB3aXRoaW4gMTIzIFVMUHMgb2YgbmFuZiApCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IFdpdGhpbkFicygxLiwgMC4pCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IFdpdGhpbkFicygxLiwgLTEuKSwgc3RkOjpkb21haW5fZXJyb3IKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogV2l0aGluVUxQKDEuLCAwKQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBXaXRoaW5VTFAoMS4sIC0xKSwgc3RkOjpkb21haW5fZXJyb3IKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMS5mLCBXaXRoaW5BYnMoMS5mLCAwKSBmb3I6IDEuMGYgaXMgd2l0aGluIDAuMCBvZiAxLjAKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMC5mLCBXaXRoaW5BYnMoMS5mLCAxKSBmb3I6IDAuMGYgaXMgd2l0aGluIDEuMCBvZiAxLjAKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMC5mLCAhV2l0aGluQWJzKDEuZiwgMC45OWYpIGZvcjogMC4wZiBub3QgaXMgd2l0aGluIDAuOTkwMDAwMDA5NSBvZiAxLjAKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMC5mLCAhV2l0aGluQWJzKDEuZiwgMC45OWYpIGZvcjogMC4wZiBub3QgaXMgd2l0aGluIDAuOTkwMDAwMDA5NSBvZiAxLjAKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMC5mLCBXaXRoaW5BYnMoLTAuZiwgMCkgZm9yOiAwLjBmIGlzIHdpdGhpbiAwLjAgb2YgLTAuMApNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBOQU4sICFXaXRoaW5BYnMoTkFOLCAwKSBmb3I6IG5hbmYgbm90IGlzIHdpdGhpbiAwLjAgb2YgbmFuCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDExLmYsICFXaXRoaW5BYnMoMTAuZiwgMC41ZikgZm9yOiAxMS4wZiBub3QgaXMgd2l0aGluIDAuNSBvZiAxMC4wCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDEwLmYsICFXaXRoaW5BYnMoMTEuZiwgMC41ZikgZm9yOiAxMC4wZiBub3QgaXMgd2l0aGluIDAuNSBvZiAxMS4wCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IC0xMC5mLCBXaXRoaW5BYnMoLTEwLmYsIDAuNWYpIGZvcjogLTEwLjBmIGlzIHdpdGhpbiAwLjUgb2YgLTEwLjAKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogLTEwLmYsIFdpdGhpbkFicygtOS42ZiwgMC41ZikgZm9yOiAtMTAuMGYgaXMgd2l0aGluIDAuNSBvZiAtOS42MDAwMDAzODE1Ck1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDEuZiwgV2l0aGluVUxQKDEuZiwgMCkgZm9yOiAxLjBmIGlzIHdpdGhpbiAwIFVMUHMgb2YgMS4wZgpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBuZXh0YWZ0ZXIoMS5mLCAyLmYpLCBXaXRoaW5VTFAoMS5mLCAxKSBmb3I6IDEuMGYgaXMgd2l0aGluIDEgVUxQcyBvZiAxLjBmCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IG5leHRhZnRlcigxLmYsIDAuZiksIFdpdGhpblVMUCgxLmYsIDEpIGZvcjogMS4wZiBpcyB3aXRoaW4gMSBVTFBzIG9mIDEuMGYKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogbmV4dGFmdGVyKDEuZiwgMi5mKSwgIVdpdGhpblVMUCgxLmYsIDApIGZvcjogMS4wZiBub3QgaXMgd2l0aGluIDAgVUxQcyBvZiAxLjBmCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDEuZiwgV2l0aGluVUxQKDEuZiwgMCkgZm9yOiAxLjBmIGlzIHdpdGhpbiAwIFVMUHMgb2YgMS4wZgpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAtMC5mLCBXaXRoaW5VTFAoMC5mLCAwKSBmb3I6IC0wLjBmIGlzIHdpdGhpbiAwIFVMUHMgb2YgMC4wZgpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBOQU4sICFXaXRoaW5VTFAoTkFOLCAxMjMpIGZvcjogbmFuZiBub3QgaXMgd2l0aGluIDEyMyBVTFBzIG9mIG5hbmYKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMS5mLCBXaXRoaW5BYnMoMS5mLCAwLjUpIHx8IFdpdGhpblVMUCgxLmYsIDEpIGZvcjogMS4wZiAoIGlzIHdpdGhpbiAwLjUgb2YgMS4wIG9yIGlzIHdpdGhpbiAxIFVMUHMgb2YgMS4wZiApCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDEuZiwgV2l0aGluQWJzKDIuZiwgMC41KSB8fCBXaXRoaW5VTFAoMS5mLCAwKSBmb3I6IDEuMGYgKCBpcyB3aXRoaW4gMC41IG9mIDIuMCBvciBpcyB3aXRoaW4gMCBVTFBzIG9mIDEuMGYgKQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBOQU4sICEoV2l0aGluQWJzKE5BTiwgMTAwKSB8fCBXaXRoaW5VTFAoTkFOLCAxMjMpKSBmb3I6IG5hbmYgbm90ICggaXMgd2l0aGluIDEwMC4wIG9mIG5hbiBvciBpcyB3aXRoaW4gMTIzIFVMUHMgb2YgbmFuZiApCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IFdpdGhpbkFicygxLmYsIDAuZikKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogV2l0aGluQWJzKDEuZiwgLTEuZiksIHN0ZDo6ZG9tYWluX2Vycm9yCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IFdpdGhpblVMUCgxLmYsIDApCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IFdpdGhpblVMUCgxLmYsIC0xKSwgc3RkOjpkb21haW5fZXJyb3IKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpICUgMiA9PSAwIGZvcjogMCA9PSAwCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaSAlIDIgPT0gMCBmb3I6IDAgPT0gMApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGkgJSAyID09IDAgZm9yOiAwID09IDAKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBmaWx0ZXIoW10gKGludCkge3JldHVybiBmYWxzZTsgfSwgdmFsdWUoMSkpLCBDYXRjaDo6R2VuZXJhdG9yRXhjZXB0aW9uCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaSA8IDQgZm9yOiAxIDwgNApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGkgPCA0IGZvcjogMiA8IDQKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpIDwgNCBmb3I6IDMgPCA0CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaSAlIDIgPT0gMCBmb3I6IDAgPT0gMApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGkgJSAyID09IDAgZm9yOiAwID09IDAKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpICUgMiA9PSAwIGZvcjogMCA9PSAwCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaS5zaXplKCkgPT0gMSBmb3I6IDEgPT0gMQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGkuc2l6ZSgpID09IDEgZm9yOiAxID09IDEKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpLnNpemUoKSA9PSAxIGZvcjogMSA9PSAxCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaS5zaXplKCkgPT0gMSBmb3I6IDEgPT0gMQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGkuc2l6ZSgpID09IDEgZm9yOiAxID09IDEKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpLnNpemUoKSA9PSAxIGZvcjogMSA9PSAxCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaiA+IDAgZm9yOiAxID4gMApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGogPiAwIGZvcjogMiA+IDAKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBqID4gMCBmb3I6IDMgPiAwCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaiA+IDAgZm9yOiAxID4gMApHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGogPiAwIGZvcjogMiA+IDAKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBqID4gMCBmb3I6IDMgPiAwCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2h1bmsyLnNpemUoKSA9PSAyIGZvcjogMiA9PSAyCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2h1bmsyLmZyb250KCkgPT0gY2h1bmsyLmJhY2soKSBmb3I6IDEgPT0gMQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNodW5rMi5zaXplKCkgPT0gMiBmb3I6IDIgPT0gMgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNodW5rMi5mcm9udCgpID09IGNodW5rMi5iYWNrKCkgZm9yOiAyID09IDIKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjaHVuazIuc2l6ZSgpID09IDIgZm9yOiAyID09IDIKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjaHVuazIuZnJvbnQoKSA9PSBjaHVuazIuYmFjaygpIGZvcjogMyA9PSAzCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2h1bmsyLnNpemUoKSA9PSAyIGZvcjogMiA9PSAyCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2h1bmsyLmZyb250KCkgPT0gY2h1bmsyLmJhY2soKSBmb3I6IDEgPT0gMQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNodW5rMi5mcm9udCgpIDwgMyBmb3I6IDEgPCAzCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2h1bmsyLnNpemUoKSA9PSAyIGZvcjogMiA9PSAyCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2h1bmsyLmZyb250KCkgPT0gY2h1bmsyLmJhY2soKSBmb3I6IDIgPT0gMgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNodW5rMi5mcm9udCgpIDwgMyBmb3I6IDIgPCAzCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2h1bmsoMiwgdmFsdWUoMSkpLCBDYXRjaDo6R2VuZXJhdG9yRXhjZXB0aW9uCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaiA8IGkgZm9yOiAtMyA8IDEKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBqIDwgaSBmb3I6IC0yIDwgMQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGogPCBpIGZvcjogLTEgPCAxCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogNHUgKiBpID4gc3RyLnNpemUoKSBmb3I6IDQgPiAxCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogNHUgKiBpID4gc3RyLnNpemUoKSBmb3I6IDQgPiAyCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogNHUgKiBpID4gc3RyLnNpemUoKSBmb3I6IDQgPiAzCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaiA8IGkgZm9yOiAtMyA8IDIKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBqIDwgaSBmb3I6IC0yIDwgMgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGogPCBpIGZvcjogLTEgPCAyCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogNHUgKiBpID4gc3RyLnNpemUoKSBmb3I6IDggPiAxCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogNHUgKiBpID4gc3RyLnNpemUoKSBmb3I6IDggPiAyCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogNHUgKiBpID4gc3RyLnNpemUoKSBmb3I6IDggPiAzCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaiA8IGkgZm9yOiAtMyA8IDMKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBqIDwgaSBmb3I6IC0yIDwgMwpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGogPCBpIGZvcjogLTEgPCAzCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogNHUgKiBpID4gc3RyLnNpemUoKSBmb3I6IDEyID4gMQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDR1ICogaSA+IHN0ci5zaXplKCkgZm9yOiAxMiA+IDIKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA0dSAqIGkgPiBzdHIuc2l6ZSgpIGZvcjogMTIgPiAzCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAxMjMgZm9yOiAxMjMgPT0gMTIzCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoZ2VuLm5leHQoKSkgZm9yOiAhZmFsc2UKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IDEgZm9yOiAxID09IDEKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IDMgZm9yOiAzID09IDMKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IDUgZm9yOiA1ID09IDUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogIShnZW4ubmV4dCgpKSBmb3I6ICFmYWxzZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gMSBmb3I6IDEgPT0gMQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gNSBmb3I6IDUgPT0gNQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gMiBmb3I6IDIgPT0gMgpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gNCBmb3I6IDQgPT0gNApHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gMCBmb3I6IDAgPT0gMApHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAhKGdlbi5uZXh0KCkpIGZvcjogIWZhbHNlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKS5zaXplKCkgPT0gMiBmb3I6IDIgPT0gMgpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gImFhIiBmb3I6ICJhYSIgPT0gImFhIgpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gImJiIiBmb3I6ICJiYiIgPT0gImJiIgpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gImNjIiBmb3I6ICJjYyIgPT0gImNjIgpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAhKGdlbi5uZXh0KCkpIGZvcjogIWZhbHNlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAxIGZvcjogMSA9PSAxCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAzIGZvcjogMyA9PSAzCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoZ2VuLm5leHQoKSkgZm9yOiAhZmFsc2UKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZmlsdGVyKFtdIChpbnQpIHsgcmV0dXJuIGZhbHNlOyB9LCB2YWx1ZSgxKSksIENhdGNoOjpHZW5lcmF0b3JFeGNlcHRpb24KR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IDEgZm9yOiAxID09IDEKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IDIgZm9yOiAyID09IDIKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogIShnZW4ubmV4dCgpKSBmb3I6ICFmYWxzZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gMSBmb3I6IDEgPT0gMQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAhKGdlbi5uZXh0KCkpIGZvcjogIWZhbHNlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAyLjAgZm9yOiAyLjAgPT0gMi4wCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSA0LjAgZm9yOiA0LjAgPT0gNC4wCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSA2LjAgZm9yOiA2LjAgPT0gNi4wCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoZ2VuLm5leHQoKSkgZm9yOiAhZmFsc2UKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IDIuMCBmb3I6IDIuMCA9PSAyLjAKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IDQuMCBmb3I6IDQuMCA9PSA0LjAKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IDYuMCBmb3I6IDYuMCA9PSA2LjAKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogIShnZW4ubmV4dCgpKSBmb3I6ICFmYWxzZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gMyBmb3I6IDMgPT0gMwpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAhKGdlbi5uZXh0KCkpIGZvcjogIWZhbHNlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAxIGZvcjogMSA9PSAxCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAyIGZvcjogMiA9PSAyCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAzIGZvcjogMyA9PSAzCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAxIGZvcjogMSA9PSAxCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAyIGZvcjogMiA9PSAyCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAzIGZvcjogMyA9PSAzCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoZ2VuLm5leHQoKSkgZm9yOiAhZmFsc2UKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IC0yIGZvcjogLTIgPT0gLTIKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IC0xIGZvcjogLTEgPT0gLTEKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IDAgZm9yOiAwID09IDAKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IDEgZm9yOiAxID09IDEKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogIShnZW4ubmV4dCgpKSBmb3I6ICFmYWxzZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gMiBmb3I6IDIgPT0gMgpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gMSBmb3I6IDEgPT0gMQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gMCBmb3I6IDAgPT0gMApHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gLTEgZm9yOiAtMSA9PSAtMQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAhKGdlbi5uZXh0KCkpIGZvcjogIWZhbHNlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAtNyBmb3I6IC03ID09IC03CkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAtNCBmb3I6IC00ID09IC00CkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAtMSBmb3I6IC0xID09IC0xCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAyIGZvcjogMiA9PSAyCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoZ2VuLm5leHQoKSkgZm9yOiAhZmFsc2UKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IC03IGZvcjogLTcgPT0gLTcKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IC00IGZvcjogLTQgPT0gLTQKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IC0xIGZvcjogLTEgPT0gLTEKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IDIgZm9yOiAyID09IDIKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogIShnZW4ubmV4dCgpKSBmb3I6ICFmYWxzZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gLTcgZm9yOiAtNyA9PSAtNwpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gLTQgZm9yOiAtNCA9PSAtNApHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gLTEgZm9yOiAtMSA9PSAtMQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gMiBmb3I6IDIgPT0gMgpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gNSBmb3I6IDUgPT0gNQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAhKGdlbi5uZXh0KCkpIGZvcjogIWZhbHNlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSA1IGZvcjogNSA9PSA1CkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAyIGZvcjogMiA9PSAyCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAtMSBmb3I6IC0xID09IC0xCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5uZXh0KCkgZm9yOiB0cnVlCkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGdlbi5nZXQoKSA9PSAtNCBmb3I6IC00ID09IC00CkdlbmVyYXRvcnNJbXBsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoZ2VuLm5leHQoKSkgZm9yOiAhZmFsc2UKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IDUgZm9yOiA1ID09IDUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IDIgZm9yOiAyID09IDIKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IC0xIGZvcjogLTEgPT0gLTEKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLm5leHQoKSBmb3I6IHRydWUKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZ2VuLmdldCgpID09IC00IGZvcjogLTQgPT0gLTQKR2VuZXJhdG9yc0ltcGwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogIShnZW4ubmV4dCgpKSBmb3I6ICFmYWxzZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gNSBmb3I6IDUgPT0gNQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gMiBmb3I6IDIgPT0gMgpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gLTEgZm9yOiAtMSA9PSAtMQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gLTQgZm9yOiAtNCA9PSAtNApHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4ubmV4dCgpIGZvcjogdHJ1ZQpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBnZW4uZ2V0KCkgPT0gLTcgZm9yOiAtNyA9PSAtNwpHZW5lcmF0b3JzSW1wbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAhKGdlbi5uZXh0KCkpIGZvcjogIWZhbHNlCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkID49IEFwcHJveCggMS4yMiApIGZvcjogMS4yMyA+PSBBcHByb3goIDEuMjIgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZCA+PSBBcHByb3goIDEuMjMgKSBmb3I6IDEuMjMgPj0gQXBwcm94KCAxLjIzICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoZCA+PSBBcHByb3goIDEuMjQgKSkgZm9yOiAhKDEuMjMgPj0gQXBwcm94KCAxLjI0ICkpCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkID49IEFwcHJveCggMS4yNCApLmVwc2lsb24oMC4xKSBmb3I6IDEuMjMgPj0gQXBwcm94KCAxLjI0ICkKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogd2FybmluZzogJ3RoaXMgaXMgYSBtZXNzYWdlJyB3aXRoIDEgbWVzc2FnZTogJ3RoaXMgaXMgYSB3YXJuaW5nJwpNZXNzYWdlLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGEgPT0gMSBmb3I6IDIgPT0gMSB3aXRoIDIgbWVzc2FnZXM6ICd0aGlzIG1lc3NhZ2Ugc2hvdWxkIGJlIGxvZ2dlZCcgYW5kICdzbyBzaG91bGQgdGhpcycKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBhID09IDIgZm9yOiAyID09IDIgd2l0aCAxIG1lc3NhZ2U6ICd0aGlzIG1lc3NhZ2UgbWF5IGJlIGxvZ2dlZCBsYXRlcicKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBhID09IDEgZm9yOiAyID09IDEgd2l0aCAyIG1lc3NhZ2VzOiAndGhpcyBtZXNzYWdlIG1heSBiZSBsb2dnZWQgbGF0ZXInIGFuZCAndGhpcyBtZXNzYWdlIHNob3VsZCBiZSBsb2dnZWQnCk1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogYSA9PSAwIGZvcjogMiA9PSAwIHdpdGggMyBtZXNzYWdlczogJ3RoaXMgbWVzc2FnZSBtYXkgYmUgbG9nZ2VkIGxhdGVyJyBhbmQgJ3RoaXMgbWVzc2FnZSBzaG91bGQgYmUgbG9nZ2VkJyBhbmQgJ2FuZCB0aGlzLCBidXQgbGF0ZXInCk1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYSA9PSAyIGZvcjogMiA9PSAyIHdpdGggNCBtZXNzYWdlczogJ3RoaXMgbWVzc2FnZSBtYXkgYmUgbG9nZ2VkIGxhdGVyJyBhbmQgJ3RoaXMgbWVzc2FnZSBzaG91bGQgYmUgbG9nZ2VkJyBhbmQgJ2FuZCB0aGlzLCBidXQgbGF0ZXInIGFuZCAnYnV0IG5vdCB0aGlzJwpNZXNzYWdlLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGkgPCAxMCBmb3I6IDAgPCAxMCB3aXRoIDIgbWVzc2FnZXM6ICdjdXJyZW50IGNvdW50ZXIgMCcgYW5kICdpIDo9IDAnCk1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaSA8IDEwIGZvcjogMSA8IDEwIHdpdGggMiBtZXNzYWdlczogJ2N1cnJlbnQgY291bnRlciAxJyBhbmQgJ2kgOj0gMScKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpIDwgMTAgZm9yOiAyIDwgMTAgd2l0aCAyIG1lc3NhZ2VzOiAnY3VycmVudCBjb3VudGVyIDInIGFuZCAnaSA6PSAyJwpNZXNzYWdlLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGkgPCAxMCBmb3I6IDMgPCAxMCB3aXRoIDIgbWVzc2FnZXM6ICdjdXJyZW50IGNvdW50ZXIgMycgYW5kICdpIDo9IDMnCk1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaSA8IDEwIGZvcjogNCA8IDEwIHdpdGggMiBtZXNzYWdlczogJ2N1cnJlbnQgY291bnRlciA0JyBhbmQgJ2kgOj0gNCcKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpIDwgMTAgZm9yOiA1IDwgMTAgd2l0aCAyIG1lc3NhZ2VzOiAnY3VycmVudCBjb3VudGVyIDUnIGFuZCAnaSA6PSA1JwpNZXNzYWdlLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGkgPCAxMCBmb3I6IDYgPCAxMCB3aXRoIDIgbWVzc2FnZXM6ICdjdXJyZW50IGNvdW50ZXIgNicgYW5kICdpIDo9IDYnCk1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaSA8IDEwIGZvcjogNyA8IDEwIHdpdGggMiBtZXNzYWdlczogJ2N1cnJlbnQgY291bnRlciA3JyBhbmQgJ2kgOj0gNycKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpIDwgMTAgZm9yOiA4IDwgMTAgd2l0aCAyIG1lc3NhZ2VzOiAnY3VycmVudCBjb3VudGVyIDgnIGFuZCAnaSA6PSA4JwpNZXNzYWdlLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGkgPCAxMCBmb3I6IDkgPCAxMCB3aXRoIDIgbWVzc2FnZXM6ICdjdXJyZW50IGNvdW50ZXIgOScgYW5kICdpIDo9IDknCk1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogaSA8IDEwIGZvcjogMTAgPCAxMCB3aXRoIDIgbWVzc2FnZXM6ICdjdXJyZW50IGNvdW50ZXIgMTAnIGFuZCAnaSA6PSAxMCcKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGRhdGEuaW50X3NldmVuICE9IDcgZm9yOiA3ICE9IDcKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGRhdGEuZmxvYXRfbmluZV9wb2ludF9vbmUgIT0gQXBwcm94KCA5LjFmICkgZm9yOiA5LjFmICE9IEFwcHJveCggOS4xMDAwMDAzODE1ICkKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGRhdGEuZG91YmxlX3BpICE9IEFwcHJveCggMy4xNDE1OTI2NTM1ICkgZm9yOiAzLjE0MTU5MjY1MzUgIT0gQXBwcm94KCAzLjE0MTU5MjY1MzUgKQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZGF0YS5zdHJfaGVsbG8gIT0gImhlbGxvIiBmb3I6ICJoZWxsbyIgIT0gImhlbGxvIgpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZGF0YS5zdHJfaGVsbG8uc2l6ZSgpICE9IDUgZm9yOiA1ICE9IDUKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGRhdGEuaW50X3NldmVuICE9IDYgZm9yOiA3ICE9IDYKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGRhdGEuaW50X3NldmVuICE9IDggZm9yOiA3ICE9IDgKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGRhdGEuZmxvYXRfbmluZV9wb2ludF9vbmUgIT0gQXBwcm94KCA5LjExZiApIGZvcjogOS4xZiAhPSBBcHByb3goIDkuMTA5OTk5NjU2NyApCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkYXRhLmZsb2F0X25pbmVfcG9pbnRfb25lICE9IEFwcHJveCggOS4wZiApIGZvcjogOS4xZiAhPSBBcHByb3goIDkuMCApCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkYXRhLmZsb2F0X25pbmVfcG9pbnRfb25lICE9IEFwcHJveCggMSApIGZvcjogOS4xZiAhPSBBcHByb3goIDEuMCApCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkYXRhLmZsb2F0X25pbmVfcG9pbnRfb25lICE9IEFwcHJveCggMCApIGZvcjogOS4xZiAhPSBBcHByb3goIDAuMCApCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkYXRhLmRvdWJsZV9waSAhPSBBcHByb3goIDMuMTQxNSApIGZvcjogMy4xNDE1OTI2NTM1ICE9IEFwcHJveCggMy4xNDE1ICkKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGRhdGEuc3RyX2hlbGxvICE9ICJnb29kYnllIiBmb3I6ICJoZWxsbyIgIT0gImdvb2RieWUiCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkYXRhLnN0cl9oZWxsbyAhPSAiaGVsbCIgZm9yOiAiaGVsbG8iICE9ICJoZWxsIgpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5zdHJfaGVsbG8gIT0gImhlbGxvMSIgZm9yOiAiaGVsbG8iICE9ICJoZWxsbzEiCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkYXRhLnN0cl9oZWxsby5zaXplKCkgIT0gNiBmb3I6IDUgIT0gNgpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZCA8PSBBcHByb3goIDEuMjQgKSBmb3I6IDEuMjMgPD0gQXBwcm94KCAxLjI0ICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGQgPD0gQXBwcm94KCAxLjIzICkgZm9yOiAxLjIzIDw9IEFwcHJveCggMS4yMyApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAhKGQgPD0gQXBwcm94KCAxLjIyICkpIGZvcjogISgxLjIzIDw9IEFwcHJveCggMS4yMiApKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZCA8PSBBcHByb3goIDEuMjIgKS5lcHNpbG9uKDAuMSkgZm9yOiAxLjIzIDw9IEFwcHJveCggMS4yMiApCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogd2l0aCAxIG1lc3NhZ2U6ICd3YXMgY2FsbGVkJwpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0U3RyaW5nRm9yTWF0Y2hpbmcoKSwgQ29udGFpbnMoInN0cmluZyIpICYmIENvbnRhaW5zKCJhYmMiKSAmJiBDb250YWlucygic3Vic3RyaW5nIikgJiYgQ29udGFpbnMoImNvbnRhaW5zIikgZm9yOiAidGhpcyBzdHJpbmcgY29udGFpbnMgJ2FiYycgYXMgYSBzdWJzdHJpbmciICggY29udGFpbnM6ICJzdHJpbmciIGFuZCBjb250YWluczogImFiYyIgYW5kIGNvbnRhaW5zOiAic3Vic3RyaW5nIiBhbmQgY29udGFpbnM6ICJjb250YWlucyIgKQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0U3RyaW5nRm9yTWF0Y2hpbmcoKSwgQ29udGFpbnMoInN0cmluZyIpIHx8IENvbnRhaW5zKCJkaWZmZXJlbnQiKSB8fCBDb250YWlucygicmFuZG9tIikgZm9yOiAidGhpcyBzdHJpbmcgY29udGFpbnMgJ2FiYycgYXMgYSBzdWJzdHJpbmciICggY29udGFpbnM6ICJzdHJpbmciIG9yIGNvbnRhaW5zOiAiZGlmZmVyZW50IiBvciBjb250YWluczogInJhbmRvbSIgKQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0U3RyaW5nRm9yTWF0Y2hpbmcyKCksIENvbnRhaW5zKCJzdHJpbmciKSB8fCBDb250YWlucygiZGlmZmVyZW50IikgfHwgQ29udGFpbnMoInJhbmRvbSIpIGZvcjogInNvbWUgY29tcGxldGVseSBkaWZmZXJlbnQgdGV4dCB0aGF0IGNvbnRhaW5zIG9uZSBjb21tb24gd29yZCIgKCBjb250YWluczogInN0cmluZyIgb3IgY29udGFpbnM6ICJkaWZmZXJlbnQiIG9yIGNvbnRhaW5zOiAicmFuZG9tIiApCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RTdHJpbmdGb3JNYXRjaGluZygpLCAoQ29udGFpbnMoInN0cmluZyIpIHx8IENvbnRhaW5zKCJkaWZmZXJlbnQiKSkgJiYgQ29udGFpbnMoInN1YnN0cmluZyIpIGZvcjogInRoaXMgc3RyaW5nIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIiAoICggY29udGFpbnM6ICJzdHJpbmciIG9yIGNvbnRhaW5zOiAiZGlmZmVyZW50IiApIGFuZCBjb250YWluczogInN1YnN0cmluZyIgKQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB0ZXN0U3RyaW5nRm9yTWF0Y2hpbmcoKSwgKENvbnRhaW5zKCJzdHJpbmciKSB8fCBDb250YWlucygiZGlmZmVyZW50IikpICYmIENvbnRhaW5zKCJyYW5kb20iKSBmb3I6ICJ0aGlzIHN0cmluZyBjb250YWlucyAnYWJjJyBhcyBhIHN1YnN0cmluZyIgKCAoIGNvbnRhaW5zOiAic3RyaW5nIiBvciBjb250YWluczogImRpZmZlcmVudCIgKSBhbmQgY29udGFpbnM6ICJyYW5kb20iICkKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdFN0cmluZ0Zvck1hdGNoaW5nKCksICFDb250YWlucygiZGlmZmVyZW50IikgZm9yOiAidGhpcyBzdHJpbmcgY29udGFpbnMgJ2FiYycgYXMgYSBzdWJzdHJpbmciIG5vdCBjb250YWluczogImRpZmZlcmVudCIKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdGVzdFN0cmluZ0Zvck1hdGNoaW5nKCksICFDb250YWlucygic3Vic3RyaW5nIikgZm9yOiAidGhpcyBzdHJpbmcgY29udGFpbnMgJ2FiYycgYXMgYSBzdWJzdHJpbmciIG5vdCBjb250YWluczogInN1YnN0cmluZyIKRXhjZXB0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRoaXNUaHJvd3MoKSwgImV4cGVjdGVkIGV4Y2VwdGlvbiIgZm9yOiAiZXhwZWN0ZWQgZXhjZXB0aW9uIiBlcXVhbHM6ICJleHBlY3RlZCBleGNlcHRpb24iCkV4Y2VwdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB0aGlzVGhyb3dzKCksICJzaG91bGQgZmFpbCIgZm9yOiAiZXhwZWN0ZWQgZXhjZXB0aW9uIiBlcXVhbHM6ICJzaG91bGQgZmFpbCIKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2YWx1ZXMgPiAtNiBmb3I6IDMgPiAtNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHZhbHVlcyA+IC02IGZvcjogNCA+IC02CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdmFsdWVzID4gLTYgZm9yOiA1ID4gLTYKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2YWx1ZXMgPiAtNiBmb3I6IDYgPiAtNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHZhbHVlcyA+IC02IGZvcjogLTUgPiAtNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHZhbHVlcyA+IC02IGZvcjogLTQgPiAtNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHZhbHVlcyA+IC02IGZvcjogOTAgPiAtNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHZhbHVlcyA+IC02IGZvcjogOTEgPiAtNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHZhbHVlcyA+IC02IGZvcjogOTIgPiAtNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHZhbHVlcyA+IC02IGZvcjogOTMgPiAtNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHZhbHVlcyA+IC02IGZvcjogOTQgPiAtNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHZhbHVlcyA+IC02IGZvcjogOTUgPiAtNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHZhbHVlcyA+IC02IGZvcjogOTYgPiAtNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHZhbHVlcyA+IC02IGZvcjogOTcgPiAtNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHZhbHVlcyA+IC02IGZvcjogOTggPiAtNgpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHZhbHVlcyA+IC02IGZvcjogOTkgPiAtNgpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiB3YXJuaW5nOiAnVGhpcyBvbmUgcmFuJwpFeGNlcHRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdW5leHBlY3RlZCBleGNlcHRpb24gd2l0aCBtZXNzYWdlOiAnY3VzdG9tIGV4Y2VwdGlvbicKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IFRydWUgZm9yOiB7P30KVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICFGYWxzZSBmb3I6IHRydWUKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoRmFsc2UpIGZvcjogIXs/fQpDb21waWxhdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB3aXRoIDEgbWVzc2FnZTogJ3N0ZDo6aXNfdm9pZDx2b2lkPjo6dmFsdWUnCkNvbXBpbGF0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHdpdGggMSBtZXNzYWdlOiAnIShzdGQ6OmlzX3ZvaWQ8aW50Pjo6dmFsdWUpJwpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZGF0YS5pbnRfc2V2ZW4gPiA3IGZvcjogNyA+IDcKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGRhdGEuaW50X3NldmVuIDwgNyBmb3I6IDcgPCA3CkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLmludF9zZXZlbiA+IDggZm9yOiA3ID4gOApDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZGF0YS5pbnRfc2V2ZW4gPCA2IGZvcjogNyA8IDYKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGRhdGEuaW50X3NldmVuIDwgMCBmb3I6IDcgPCAwCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLmludF9zZXZlbiA8IC0xIGZvcjogNyA8IC0xCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLmludF9zZXZlbiA+PSA4IGZvcjogNyA+PSA4CkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLmludF9zZXZlbiA8PSA2IGZvcjogNyA8PSA2CkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLmZsb2F0X25pbmVfcG9pbnRfb25lIDwgOSBmb3I6IDkuMWYgPCA5CkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLmZsb2F0X25pbmVfcG9pbnRfb25lID4gMTAgZm9yOiA5LjFmID4gMTAKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGRhdGEuZmxvYXRfbmluZV9wb2ludF9vbmUgPiA5LjIgZm9yOiA5LjFmID4gOS4yCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLnN0cl9oZWxsbyA+ICJoZWxsbyIgZm9yOiAiaGVsbG8iID4gImhlbGxvIgpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZGF0YS5zdHJfaGVsbG8gPCAiaGVsbG8iIGZvcjogImhlbGxvIiA8ICJoZWxsbyIKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGRhdGEuc3RyX2hlbGxvID4gImhlbGxwIiBmb3I6ICJoZWxsbyIgPiAiaGVsbHAiCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLnN0cl9oZWxsbyA+ICJ6IiBmb3I6ICJoZWxsbyIgPiAieiIKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGRhdGEuc3RyX2hlbGxvIDwgImhlbGxtIiBmb3I6ICJoZWxsbyIgPCAiaGVsbG0iCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLnN0cl9oZWxsbyA8ICJhIiBmb3I6ICJoZWxsbyIgPCAiYSIKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGRhdGEuc3RyX2hlbGxvID49ICJ6IiBmb3I6ICJoZWxsbyIgPj0gInoiCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBkYXRhLnN0cl9oZWxsbyA8PSAiYSIgZm9yOiAiaGVsbG8iIDw9ICJhIgpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5pbnRfc2V2ZW4gPCA4IGZvcjogNyA8IDgKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGRhdGEuaW50X3NldmVuID4gNiBmb3I6IDcgPiA2CkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkYXRhLmludF9zZXZlbiA+IDAgZm9yOiA3ID4gMApDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5pbnRfc2V2ZW4gPiAtMSBmb3I6IDcgPiAtMQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5pbnRfc2V2ZW4gPj0gNyBmb3I6IDcgPj0gNwpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5pbnRfc2V2ZW4gPj0gNiBmb3I6IDcgPj0gNgpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5pbnRfc2V2ZW4gPD0gNyBmb3I6IDcgPD0gNwpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5pbnRfc2V2ZW4gPD0gOCBmb3I6IDcgPD0gOApDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5mbG9hdF9uaW5lX3BvaW50X29uZSA+IDkgZm9yOiA5LjFmID4gOQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5mbG9hdF9uaW5lX3BvaW50X29uZSA8IDEwIGZvcjogOS4xZiA8IDEwCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkYXRhLmZsb2F0X25pbmVfcG9pbnRfb25lIDwgOS4yIGZvcjogOS4xZiA8IDkuMgpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5zdHJfaGVsbG8gPD0gImhlbGxvIiBmb3I6ICJoZWxsbyIgPD0gImhlbGxvIgpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5zdHJfaGVsbG8gPj0gImhlbGxvIiBmb3I6ICJoZWxsbyIgPj0gImhlbGxvIgpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5zdHJfaGVsbG8gPCAiaGVsbHAiIGZvcjogImhlbGxvIiA8ICJoZWxscCIKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGRhdGEuc3RyX2hlbGxvIDwgInplYnJhIiBmb3I6ICJoZWxsbyIgPCAiemVicmEiCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkYXRhLnN0cl9oZWxsbyA+ICJoZWxsbSIgZm9yOiAiaGVsbG8iID4gImhlbGxtIgpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5zdHJfaGVsbG8gPiAiYSIgZm9yOiAiaGVsbG8iID4gImEiCk1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZXhwbGljaXRseSB3aXRoIDEgbWVzc2FnZTogJ01lc3NhZ2UgZnJvbSBzZWN0aW9uIG9uZScKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBleHBsaWNpdGx5IHdpdGggMSBtZXNzYWdlOiAnTWVzc2FnZSBmcm9tIHNlY3Rpb24gdHdvJwpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMuaGFzRmlsdGVycygpID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQSApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQiApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLmhhc0ZpbHRlcnMoKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKHRjQSApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQiApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLmhhc0ZpbHRlcnMoKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0EgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0IgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5oYXNGaWx0ZXJzKCkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNBICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNCICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMuaGFzRmlsdGVycygpID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQSApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQiApID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLmhhc0ZpbHRlcnMoKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0EgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0IgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0MgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5oYXNGaWx0ZXJzKCkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNBICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNCICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNDICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNEICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHBhcnNlVGVzdFNwZWMoICIqYSIgKS5tYXRjaGVzKCB0Y0EgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5oYXNGaWx0ZXJzKCkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNBICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNCICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNDICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNEICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHBhcnNlVGVzdFNwZWMoICJhKiIgKS5tYXRjaGVzKCB0Y0EgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5oYXNGaWx0ZXJzKCkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNBICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNCICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNDICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNEICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHBhcnNlVGVzdFNwZWMoICIqYSoiICkubWF0Y2hlcyggdGNBICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMuaGFzRmlsdGVycygpID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQSApID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQiApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLmhhc0ZpbHRlcnMoKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0EgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0IgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5oYXNGaWx0ZXJzKCkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNBICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNCICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMuaGFzRmlsdGVycygpID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQSApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQiApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQyApID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjRCApID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLmhhc0ZpbHRlcnMoKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0EgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0IgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0MgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0QgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5oYXNGaWx0ZXJzKCkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNBICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNCICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNDICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMuaGFzRmlsdGVycygpID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQSApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQiApID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQyApID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLmhhc0ZpbHRlcnMoKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0EgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0IgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0MgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5oYXNGaWx0ZXJzKCkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNBICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNCICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNDICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMuaGFzRmlsdGVycygpID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQSApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQiApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQyApID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjRCApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLmhhc0ZpbHRlcnMoKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0EgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0IgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0MgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5oYXNGaWx0ZXJzKCkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNBICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNCICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNDICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMuaGFzRmlsdGVycygpID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQSApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQiApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQyApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjRCApID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLmhhc0ZpbHRlcnMoKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0EgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0IgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0MgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0QgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5oYXNGaWx0ZXJzKCkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNBICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNCICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNDICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNEICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMuaGFzRmlsdGVycygpID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQSApID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQiApID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQyApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjRCApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLmhhc0ZpbHRlcnMoKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0EgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0IgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0MgKSA9PSB0cnVlIGZvcjogdHJ1ZSA9PSB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0QgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5oYXNGaWx0ZXJzKCkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNBICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNCICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNDICkgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNEICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMuaGFzRmlsdGVycygpID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQSApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQiApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQyApID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjRCApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLmhhc0ZpbHRlcnMoKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0EgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0IgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0MgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5tYXRjaGVzKCB0Y0QgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3BlYy5oYXNGaWx0ZXJzKCkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNBICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNCICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNDICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMubWF0Y2hlcyggdGNEICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNwZWMuaGFzRmlsdGVycygpID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQSApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQiApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjQyApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcGVjLm1hdGNoZXMoIHRjRCApID09IHRydWUgZm9yOiB0cnVlID09IHRydWUKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHAgPT0gMCBmb3I6IDAgPT0gMApDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcCA9PSBwTlVMTCBmb3I6IDAgPT0gMApDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcCAhPSAwIGZvcjogMHg8aGV4IGRpZ2l0cz4gIT0gMApDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY3AgIT0gMCBmb3I6IDB4PGhleCBkaWdpdHM+ICE9IDAKQ29uZGl0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNwYyAhPSAwIGZvcjogMHg8aGV4IGRpZ2l0cz4gIT0gMApDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcmV0dXJuc051bGwoKSA9PSAwIGZvcjoge251bGwgc3RyaW5nfSA9PSAwCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiByZXR1cm5zQ29uc3ROdWxsKCkgPT0gMCBmb3I6IHtudWxsIHN0cmluZ30gPT0gMApDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogMCAhPSBwIGZvcjogMCAhPSAweDxoZXggZGlnaXRzPgpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAiZm9vIiwgUHJlZGljYXRlPGNvbnN0IGNoYXIqPihbXSAoY29uc3QgY2hhciogY29uc3QmKSB7IHJldHVybiB0cnVlOyB9KSBmb3I6ICJmb28iIG1hdGNoZXMgdW5kZXNjcmliZWQgcHJlZGljYXRlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcmVzdWx0IGZvcjogez99CkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY29uZmlnLnByb2Nlc3NOYW1lID09ICIiIGZvcjogIiIgPT0gIiIKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiByZXN1bHQgZm9yOiB7P30KQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjb25maWcucHJvY2Vzc05hbWUgPT0gInRlc3QiIGZvcjogInRlc3QiID09ICJ0ZXN0IgpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNvbmZpZy5zaG91bGREZWJ1Z0JyZWFrID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjb25maWcuYWJvcnRBZnRlciA9PSAtMSBmb3I6IC0xID09IC0xCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY29uZmlnLm5vVGhyb3cgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNvbmZpZy5yZXBvcnRlck5hbWUgPT0gImNvbnNvbGUiIGZvcjogImNvbnNvbGUiID09ICJjb25zb2xlIgpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICEoY2ZnLmhhc1Rlc3RGaWx0ZXJzKCkpIGZvcjogIWZhbHNlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcmVzdWx0IGZvcjogez99CkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2ZnLmhhc1Rlc3RGaWx0ZXJzKCkgZm9yOiB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2ZnLnRlc3RTcGVjKCkubWF0Y2hlcyhmYWtlVGVzdENhc2UoIm5vdEluY2x1ZGVkIikpID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjZmcudGVzdFNwZWMoKS5tYXRjaGVzKGZha2VUZXN0Q2FzZSgidGVzdDEiKSkgZm9yOiB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcmVzdWx0IGZvcjogez99CkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2ZnLmhhc1Rlc3RGaWx0ZXJzKCkgZm9yOiB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2ZnLnRlc3RTcGVjKCkubWF0Y2hlcyhmYWtlVGVzdENhc2UoInRlc3QxIikpID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjZmcudGVzdFNwZWMoKS5tYXRjaGVzKGZha2VUZXN0Q2FzZSgiYWx3YXlzSW5jbHVkZWQiKSkgZm9yOiB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcmVzdWx0IGZvcjogez99CkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2ZnLmhhc1Rlc3RGaWx0ZXJzKCkgZm9yOiB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2ZnLnRlc3RTcGVjKCkubWF0Y2hlcyhmYWtlVGVzdENhc2UoInRlc3QxIikpID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjZmcudGVzdFNwZWMoKS5tYXRjaGVzKGZha2VUZXN0Q2FzZSgiYWx3YXlzSW5jbHVkZWQiKSkgZm9yOiB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2xpLnBhcnNlKHsidGVzdCIsICItciIsICJjb25zb2xlIn0pIGZvcjogez99CkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY29uZmlnLnJlcG9ydGVyTmFtZSA9PSAiY29uc29sZSIgZm9yOiAiY29uc29sZSIgPT0gImNvbnNvbGUiCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2xpLnBhcnNlKHsidGVzdCIsICItciIsICJ4bWwifSkgZm9yOiB7P30KQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjb25maWcucmVwb3J0ZXJOYW1lID09ICJ4bWwiIGZvcjogInhtbCIgPT0gInhtbCIKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjbGkucGFyc2UoeyJ0ZXN0IiwgIi0tcmVwb3J0ZXIiLCAianVuaXQifSkgZm9yOiB7P30KQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjb25maWcucmVwb3J0ZXJOYW1lID09ICJqdW5pdCIgZm9yOiAianVuaXQiID09ICJqdW5pdCIKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAhKGNsaS5wYXJzZSh7ICJ0ZXN0IiwgIi1yIiwgInhtbCIsICItciIsICJqdW5pdCIgfSkpIGZvcjogIXs/fQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICFyZXN1bHQgZm9yOiB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcmVzdWx0LmVycm9yTWVzc2FnZSgpLCBDb250YWlucygiVW5yZWNvZ25pemVkIHJlcG9ydGVyIikgZm9yOiAiVW5yZWNvZ25pemVkIHJlcG9ydGVyLCAndW5zdXBwb3J0ZWQnLiBDaGVjayBhdmFpbGFibGUgd2l0aCAtLWxpc3QtcmVwb3J0ZXJzIiBjb250YWluczogIlVucmVjb2duaXplZCByZXBvcnRlciIKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjbGkucGFyc2UoeyJ0ZXN0IiwgIi1iIn0pIGZvcjogez99CkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY29uZmlnLnNob3VsZERlYnVnQnJlYWsgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNsaS5wYXJzZSh7InRlc3QiLCAiLS1icmVhayJ9KSBmb3I6IHs/fQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNvbmZpZy5zaG91bGREZWJ1Z0JyZWFrIGZvcjogdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNsaS5wYXJzZSh7InRlc3QiLCAiLWEifSkgZm9yOiB7P30KQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjb25maWcuYWJvcnRBZnRlciA9PSAxIGZvcjogMSA9PSAxCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2xpLnBhcnNlKHsidGVzdCIsICIteCIsICIyIn0pIGZvcjogez99CkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY29uZmlnLmFib3J0QWZ0ZXIgPT0gMiBmb3I6IDIgPT0gMgpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICFyZXN1bHQgZm9yOiB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcmVzdWx0LmVycm9yTWVzc2FnZSgpLCBDb250YWlucygiY29udmVydCIpICYmIENvbnRhaW5zKCJvb3BzIikgZm9yOiAiVW5hYmxlIHRvIGNvbnZlcnQgJ29vcHMnIHRvIGRlc3RpbmF0aW9uIHR5cGUiICggY29udGFpbnM6ICJjb252ZXJ0IiBhbmQgY29udGFpbnM6ICJvb3BzIiApCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2xpLnBhcnNlKHsidGVzdCIsICItZSJ9KSBmb3I6IHs/fQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNvbmZpZy5ub1Rocm93IGZvcjogdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNsaS5wYXJzZSh7InRlc3QiLCAiLS1ub3Rocm93In0pIGZvcjogez99CkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY29uZmlnLm5vVGhyb3cgZm9yOiB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY2xpLnBhcnNlKHsidGVzdCIsICItbyIsICJmaWxlbmFtZS5leHQifSkgZm9yOiB7P30KQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjb25maWcub3V0cHV0RmlsZW5hbWUgPT0gImZpbGVuYW1lLmV4dCIgZm9yOiAiZmlsZW5hbWUuZXh0IiA9PSAiZmlsZW5hbWUuZXh0IgpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNsaS5wYXJzZSh7InRlc3QiLCAiLS1vdXQiLCAiZmlsZW5hbWUuZXh0In0pIGZvcjogez99CkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY29uZmlnLm91dHB1dEZpbGVuYW1lID09ICJmaWxlbmFtZS5leHQiIGZvcjogImZpbGVuYW1lLmV4dCIgPT0gImZpbGVuYW1lLmV4dCIKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjbGkucGFyc2UoeyJ0ZXN0IiwgIi1hYmUifSkgZm9yOiB7P30KQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjb25maWcuYWJvcnRBZnRlciA9PSAxIGZvcjogMSA9PSAxCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY29uZmlnLnNob3VsZERlYnVnQnJlYWsgZm9yOiB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY29uZmlnLm5vVGhyb3cgPT0gdHJ1ZSBmb3I6IHRydWUgPT0gdHJ1ZQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNsaS5wYXJzZSh7InRlc3QifSkgZm9yOiB7P30KQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjb25maWcudXNlQ29sb3VyID09IFVzZUNvbG91cjo6QXV0byBmb3I6IDAgPT0gMApDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNsaS5wYXJzZSh7InRlc3QiLCAiLS11c2UtY29sb3VyIiwgImF1dG8ifSkgZm9yOiB7P30KQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjb25maWcudXNlQ29sb3VyID09IFVzZUNvbG91cjo6QXV0byBmb3I6IDAgPT0gMApDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNsaS5wYXJzZSh7InRlc3QiLCAiLS11c2UtY29sb3VyIiwgInllcyJ9KSBmb3I6IHs/fQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNvbmZpZy51c2VDb2xvdXIgPT0gVXNlQ29sb3VyOjpZZXMgZm9yOiAxID09IDEKQ21kTGluZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjbGkucGFyc2UoeyJ0ZXN0IiwgIi0tdXNlLWNvbG91ciIsICJubyJ9KSBmb3I6IHs/fQpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGNvbmZpZy51c2VDb2xvdXIgPT0gVXNlQ29sb3VyOjpObyBmb3I6IDIgPT0gMgpDbWRMaW5lLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICFyZXN1bHQgZm9yOiB0cnVlCkNtZExpbmUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcmVzdWx0LmVycm9yTWVzc2FnZSgpLCBDb250YWlucyggImNvbG91ciBtb2RlIG11c3QgYmUgb25lIG9mIiApIGZvcjogImNvbG91ciBtb2RlIG11c3QgYmUgb25lIG9mOiBhdXRvLCB5ZXMgb3Igbm8uICd3cm9uZycgbm90IHJlY29nbmlzZWQiIGNvbnRhaW5zOiAiY29sb3VyIG1vZGUgbXVzdCBiZSBvbmUgb2YiCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3RkOjp0dXBsZV9zaXplPFRlc3RUeXBlPjo6dmFsdWUgPj0gMSBmb3I6IDMgPj0gMQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHN0ZDo6dHVwbGVfc2l6ZTxUZXN0VHlwZT46OnZhbHVlID49IDEgZm9yOiAyID49IDEKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzdGQ6OnR1cGxlX3NpemU8VGVzdFR5cGU+Ojp2YWx1ZSA+PSAxIGZvcjogMSA+PSAxCkRlY29tcG9zaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdHJ1dGh5KGZhbHNlKSBmb3I6IEhleSwgaXRzIHRydXRoeSEKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdGVzdFN0cmluZ0Zvck1hdGNoaW5nKCksIE1hdGNoZXMoInRoaXMgU1RSSU5HIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIikgZm9yOiAidGhpcyBzdHJpbmcgY29udGFpbnMgJ2FiYycgYXMgYSBzdWJzdHJpbmciIG1hdGNoZXMgInRoaXMgU1RSSU5HIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIiBjYXNlIHNlbnNpdGl2ZWx5Ck1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHRlc3RTdHJpbmdGb3JNYXRjaGluZygpLCBNYXRjaGVzKCJjb250YWlucyAnYWJjJyBhcyBhIHN1YnN0cmluZyIpIGZvcjogInRoaXMgc3RyaW5nIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIiBtYXRjaGVzICJjb250YWlucyAnYWJjJyBhcyBhIHN1YnN0cmluZyIgY2FzZSBzZW5zaXRpdmVseQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB0ZXN0U3RyaW5nRm9yTWF0Y2hpbmcoKSwgTWF0Y2hlcygidGhpcyBzdHJpbmcgY29udGFpbnMgJ2FiYycgYXMgYSIpIGZvcjogInRoaXMgc3RyaW5nIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIiBtYXRjaGVzICJ0aGlzIHN0cmluZyBjb250YWlucyAnYWJjJyBhcyBhIiBjYXNlIHNlbnNpdGl2ZWx5Ck1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGFjdHVhbCwgIVVub3JkZXJlZEVxdWFscyhleHBlY3RlZCkgZm9yOiB7ICdhJywgJ2InIH0gbm90IFVub3JkZXJlZEVxdWFsczogeyAnYycsICdiJyB9Ck1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogd2l0aCAxIG1lc3NhZ2U6ICd0aGlzIGlzIGEgc3VjY2VzcycKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOgpCREQudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYmVmb3JlID09IDAgZm9yOiAwID09IDAKQkRELnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGFmdGVyID4gYmVmb3JlIGZvcjogMSA+IDAKQkRELnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGl0RG9lc1RoaXMoKSBmb3I6IHRydWUKQkRELnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGl0RG9lc1RoYXQoKSBmb3I6IHRydWUKQkRELnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHdpdGggMSBtZXNzYWdlOiAnYm9vIScKQkRELnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDAgZm9yOiAwID09IDAKQkRELnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDEwIGZvcjogMTAgPT0gMTAKQkRELnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA+PSAxMCBmb3I6IDEwID49IDEwCkJERC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LnNpemUoKSA9PSA1IGZvcjogNSA9PSA1CkJERC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gMTAgZm9yOiAxMCA+PSAxMApCREQudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5zaXplKCkgPT0gMCBmb3I6IDAgPT0gMApCREQudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID49IDEwIGZvcjogMTAgPj0gMTAKQkRELnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDAgZm9yOiAwID09IDAKQSBzdHJpbmcgc2VudCBkaXJlY3RseSB0byBzdGRvdXQKQSBzdHJpbmcgc2VudCBkaXJlY3RseSB0byBzdGRlcnIKQSBzdHJpbmcgc2VudCB0byBzdGRlcnIgdmlhIGNsb2cKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGQgPT0gQXBwcm94KCAxLjIzICkgZm9yOiAxLjIzID09IEFwcHJveCggMS4yMyApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkICE9IEFwcHJveCggMS4yMiApIGZvcjogMS4yMyAhPSBBcHByb3goIDEuMjIgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZCAhPSBBcHByb3goIDEuMjQgKSBmb3I6IDEuMjMgIT0gQXBwcm94KCAxLjI0ICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGQgPT0gMS4yM19hIGZvcjogMS4yMyA9PSBBcHByb3goIDEuMjMgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZCAhPSAxLjIyX2EgZm9yOiAxLjIzICE9IEFwcHJveCggMS4yMiApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBBcHByb3goIGQgKSA9PSAxLjIzIGZvcjogQXBwcm94KCAxLjIzICkgPT0gMS4yMwpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogQXBwcm94KCBkICkgIT0gMS4yMiBmb3I6IEFwcHJveCggMS4yMyApICE9IDEuMjIKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IEFwcHJveCggZCApICE9IDEuMjQgZm9yOiBBcHByb3goIDEuMjMgKSAhPSAxLjI0CkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBJTkZJTklUWSA9PSBBcHByb3goSU5GSU5JVFkpIGZvcjogaW5mZiA9PSBBcHByb3goIGluZiApCk1lc3NhZ2UgZnJvbSBzZWN0aW9uIG9uZQpNZXNzYWdlIGZyb20gc2VjdGlvbiB0d28KTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdGVzdFN0cmluZ0Zvck1hdGNoaW5nKCksIFN0YXJ0c1dpdGgoIlRoaXMgU3RyaW5nIikgZm9yOiAidGhpcyBzdHJpbmcgY29udGFpbnMgJ2FiYycgYXMgYSBzdWJzdHJpbmciIHN0YXJ0cyB3aXRoOiAiVGhpcyBTdHJpbmciCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHRlc3RTdHJpbmdGb3JNYXRjaGluZygpLCBTdGFydHNXaXRoKCJzdHJpbmciLCBDYXRjaDo6Q2FzZVNlbnNpdGl2ZTo6Tm8pIGZvcjogInRoaXMgc3RyaW5nIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIiBzdGFydHMgd2l0aDogInN0cmluZyIgKGNhc2UgaW5zZW5zaXRpdmUpClRvU3RyaW5nR2VuZXJhbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoc2luZ3VsYXIpID09ICJ7IDEgfSIgZm9yOiAieyAxIH0iID09ICJ7IDEgfSIKVG9TdHJpbmdHZW5lcmFsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IENhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShhcnIpID09ICJ7IDMsIDIsIDEgfSIgZm9yOiAieyAzLCAyLCAxIH0iID09ICJ7IDMsIDIsIDEgfSIKVG9TdHJpbmdHZW5lcmFsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IENhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShhcnIpID09IFIiKHsgeyAiMToxIiwgIjE6MiIsICIxOjMiIH0sIHsgIjI6MSIsICIyOjIiIH0gfSkiIGZvcjogInsgeyAiMToxIiwgIjE6MiIsICIxOjMiIH0sIHsgIjI6MSIsICIyOjIiIH0gfSIKPT0KInsgeyAiMToxIiwgIjE6MiIsICIxOjMiIH0sIHsgIjI6MSIsICIyOjIiIH0gfSIKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdFN0cmluZ0Zvck1hdGNoaW5nKCksIENvbnRhaW5zKCJzdHJpbmciKSBmb3I6ICJ0aGlzIHN0cmluZyBjb250YWlucyAnYWJjJyBhcyBhIHN1YnN0cmluZyIgY29udGFpbnM6ICJzdHJpbmciCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RTdHJpbmdGb3JNYXRjaGluZygpLCBDb250YWlucygic3RyaW5nIiwgQ2F0Y2g6OkNhc2VTZW5zaXRpdmU6Ok5vKSBmb3I6ICJ0aGlzIHN0cmluZyBjb250YWlucyAnYWJjJyBhcyBhIHN1YnN0cmluZyIgY29udGFpbnM6ICJzdHJpbmciIChjYXNlIGluc2Vuc2l0aXZlKQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0U3RyaW5nRm9yTWF0Y2hpbmcoKSwgQ29udGFpbnMoImFiYyIpIGZvcjogInRoaXMgc3RyaW5nIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIiBjb250YWluczogImFiYyIKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdFN0cmluZ0Zvck1hdGNoaW5nKCksIENvbnRhaW5zKCJhQkMiLCBDYXRjaDo6Q2FzZVNlbnNpdGl2ZTo6Tm8pIGZvcjogInRoaXMgc3RyaW5nIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIiBjb250YWluczogImFiYyIgKGNhc2UgaW5zZW5zaXRpdmUpCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RTdHJpbmdGb3JNYXRjaGluZygpLCBTdGFydHNXaXRoKCJ0aGlzIikgZm9yOiAidGhpcyBzdHJpbmcgY29udGFpbnMgJ2FiYycgYXMgYSBzdWJzdHJpbmciIHN0YXJ0cyB3aXRoOiAidGhpcyIKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdFN0cmluZ0Zvck1hdGNoaW5nKCksIFN0YXJ0c1dpdGgoIlRISVMiLCBDYXRjaDo6Q2FzZVNlbnNpdGl2ZTo6Tm8pIGZvcjogInRoaXMgc3RyaW5nIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIiBzdGFydHMgd2l0aDogInRoaXMiIChjYXNlIGluc2Vuc2l0aXZlKQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0U3RyaW5nRm9yTWF0Y2hpbmcoKSwgRW5kc1dpdGgoInN1YnN0cmluZyIpIGZvcjogInRoaXMgc3RyaW5nIGNvbnRhaW5zICdhYmMnIGFzIGEgc3Vic3RyaW5nIiBlbmRzIHdpdGg6ICJzdWJzdHJpbmciCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RTdHJpbmdGb3JNYXRjaGluZygpLCBFbmRzV2l0aCgiIFN1QnNUckluRyIsIENhdGNoOjpDYXNlU2Vuc2l0aXZlOjpObykgZm9yOiAidGhpcyBzdHJpbmcgY29udGFpbnMgJ2FiYycgYXMgYSBzdWJzdHJpbmciIGVuZHMgd2l0aDogIiBzdWJzdHJpbmciIChjYXNlIGluc2Vuc2l0aXZlKQpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW1wdHkuZW1wdHkoKSBmb3I6IHRydWUKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVtcHR5LnNpemUoKSA9PSAwIGZvcjogMCA9PSAwClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzdGQ6OnN0cmNtcCggZW1wdHkuY19zdHIoKSwgIiIgKSA9PSAwIGZvcjogMCA9PSAwClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzLmVtcHR5KCkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcy5zaXplKCkgPT0gNSBmb3I6IDUgPT0gNQpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaXNTdWJzdHJpbmcoIHMgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzdGQ6OnN0cmNtcCggcmF3Q2hhcnMsICJoZWxsbyIgKSA9PSAwIGZvcjogMCA9PSAwClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpc093bmVkKCBzICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcy5jX3N0cigpID09IHJhd0NoYXJzIGZvcjogImhlbGxvIiA9PSAiaGVsbG8iClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpc093bmVkKCBzICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogb3JpZ2luYWwgPT0gIm9yaWdpbmFsIgpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaXNTdWJzdHJpbmcoIG9yaWdpbmFsICkgZm9yOiB0cnVlClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpc093bmVkKCBvcmlnaW5hbCApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGlzU3Vic3RyaW5nKCBvcmlnaW5hbCApID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGlzT3duZWQoIG9yaWdpbmFsICkgZm9yOiB0cnVlClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcy5lbXB0eSgpID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNzLnNpemUoKSA9PSA1IGZvcjogNSA9PSA1ClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzdGQ6OnN0cmNtcCggc3MuY19zdHIoKSwgImhlbGxvIiApID09IDAgZm9yOiAwID09IDAKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNzID09ICJoZWxsbyIgZm9yOiBoZWxsbyA9PSAiaGVsbG8iClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpc1N1YnN0cmluZyggc3MgKSBmb3I6IHRydWUKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGlzT3duZWQoIHNzICkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcmF3Q2hhcnMgPT0gcy5jdXJyZW50RGF0YSgpIGZvcjogImhlbGxvIHdvcmxkISIgPT0gImhlbGxvIHdvcmxkISIKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNzLmNfc3RyKCkgIT0gcmF3Q2hhcnMgZm9yOiAiaGVsbG8iICE9ICJoZWxsbyB3b3JsZCEiClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpc1N1YnN0cmluZyggc3MgKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBpc093bmVkKCBzcyApIGZvcjogdHJ1ZQpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3MuY3VycmVudERhdGEoKSAhPSBzLmN1cnJlbnREYXRhKCkgZm9yOiAiaGVsbG8iICE9ICJoZWxsbyB3b3JsZCEiClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzcy5zaXplKCkgPT0gNiBmb3I6IDYgPT0gNgpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3RkOjpzdHJjbXAoIHNzLmNfc3RyKCksICJ3b3JsZCEiICkgPT0gMCBmb3I6IDAgPT0gMApTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcy5jX3N0cigpID09IHMyLmNfc3RyKCkgZm9yOiAiaGVsbG8gd29ybGQhIiA9PSAiaGVsbG8gd29ybGQhIgpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcy5jX3N0cigpICE9IHNzLmNfc3RyKCkgZm9yOiAiaGVsbG8gd29ybGQhIiAhPSAiaGVsbG8iClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBTdHJpbmdSZWYoImhlbGxvIikgPT0gU3RyaW5nUmVmKCJoZWxsbyIpIGZvcjogaGVsbG8gPT0gaGVsbG8KU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IFN0cmluZ1JlZigiaGVsbG8iKSAhPSBTdHJpbmdSZWYoImNlbGxvIikgZm9yOiBoZWxsbyAhPSBjZWxsbwpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3IgPT0gImEgc3RhbmRhcmQgc3RyaW5nIiBmb3I6IGEgc3RhbmRhcmQgc3RyaW5nID09ICJhIHN0YW5kYXJkIHN0cmluZyIKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNyLnNpemUoKSA9PSBzdGRTdHIuc2l6ZSgpIGZvcjogMTcgPT0gMTcKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNyID09ICJhIHN0YW5kYXJkIHN0cmluZyIgZm9yOiBhIHN0YW5kYXJkIHN0cmluZyA9PSAiYSBzdGFuZGFyZCBzdHJpbmciClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzci5zaXplKCkgPT0gc3RkU3RyLnNpemUoKSBmb3I6IDE3ID09IDE3ClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzciA9PSAiYSBzdGFuZGFyZCBzdHJpbmciIGZvcjogYSBzdGFuZGFyZCBzdHJpbmcgPT0gImEgc3RhbmRhcmQgc3RyaW5nIgpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3Iuc2l6ZSgpID09IHN0ZFN0ci5zaXplKCkgZm9yOiAxNyA9PSAxNwpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3RkU3RyID09ICJhIHN0cmluZ3JlZiIgZm9yOiAiYSBzdHJpbmdyZWYiID09ICJhIHN0cmluZ3JlZiIKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHN0ZFN0ci5zaXplKCkgPT0gc3Iuc2l6ZSgpIGZvcjogMTEgPT0gMTEKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHN0ZFN0ciA9PSAiYSBzdHJpbmdyZWYiIGZvcjogImEgc3RyaW5ncmVmIiA9PSAiYSBzdHJpbmdyZWYiClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzdGRTdHIuc2l6ZSgpID09IHNyLnNpemUoKSBmb3I6IDExID09IDExClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzdGRTdHIgPT0gImEgc3RyaW5ncmVmIiBmb3I6ICJhIHN0cmluZ3JlZiIgPT0gImEgc3RyaW5ncmVmIgpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3RkU3RyLnNpemUoKSA9PSBzci5zaXplKCkgZm9yOiAxMSA9PSAxMQpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYXNjaWkubnVtYmVyT2ZDaGFyYWN0ZXJzKCkgPT0gYXNjaWkuc2l6ZSgpIGZvcjogMzkgPT0gMzkKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHNpbXBsZXU4Lm51bWJlck9mQ2hhcmFjdGVycygpID09IDMwIGZvcjogMzAgPT0gMzAKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVtb2ppcy5udW1iZXJPZkNoYXJhY3RlcnMoKSA9PSA5IGZvcjogOSA9PSA5ClRvU3RyaW5nQ2hyb25vLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IG1pbnV0ZSA9PSBzZWNvbmRzIGZvcjogMSBtID09IDYwIHMKVG9TdHJpbmdDaHJvbm8udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogaG91ciAhPSBzZWNvbmRzIGZvcjogMSBoICE9IDYwIHMKVG9TdHJpbmdDaHJvbm8udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogbWljcm8gIT0gbWlsbGkgZm9yOiAxIHVzICE9IDEgbXMKVG9TdHJpbmdDaHJvbm8udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogbmFubyAhPSBtaWNybyBmb3I6IDEgbnMgIT0gMSB1cwpUb1N0cmluZ0Nocm9uby50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBoYWxmX21pbnV0ZSAhPSBmZW10b19zZWNvbmQgZm9yOiAxIFszMC8xXXMgIT0gMSBmcwpUb1N0cmluZ0Nocm9uby50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBwaWNvX3NlY29uZCAhPSBhdHRvX3NlY29uZCBmb3I6IDEgcHMgIT0gMSBhcwpUb1N0cmluZ0Nocm9uby50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBub3cgIT0gbGF0ZXIgZm9yOiB7aXNvODYwMS10aW1lc3RhbXB9CiE9Cntpc284NjAxLXRpbWVzdGFtcH0KTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBzMSA9PSBzMiBmb3I6ICJpZiAoJGIgPT0gMTApIHsKCQkkYQk9IDIwOwp9Igo9PQoiaWYgKCRiID09IDEwKSB7CgkkYSA9IDIwOwp9CiIKVGFnLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHdoYXQsIENvbnRhaW5zKCAiW0B6enpdIiApIGZvcjogImVycm9yOiB0YWcgYWxpYXMsICdbQHp6el0nIGFscmVhZHkgcmVnaXN0ZXJlZC4KCUZpcnN0IHNlZW4gYXQ6IGZpbGU6MgoJUmVkZWZpbmVkIGF0OiBmaWxlOjEwIiBjb250YWluczogIltAenp6XSIKVGFnLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHdoYXQsIENvbnRhaW5zKCAiZmlsZSIgKSBmb3I6ICJlcnJvcjogdGFnIGFsaWFzLCAnW0B6enpdJyBhbHJlYWR5IHJlZ2lzdGVyZWQuCglGaXJzdCBzZWVuIGF0OiBmaWxlOjIKCVJlZGVmaW5lZCBhdDogZmlsZToxMCIgY29udGFpbnM6ICJmaWxlIgpUYWcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogd2hhdCwgQ29udGFpbnMoICIyIiApIGZvcjogImVycm9yOiB0YWcgYWxpYXMsICdbQHp6el0nIGFscmVhZHkgcmVnaXN0ZXJlZC4KCUZpcnN0IHNlZW4gYXQ6IGZpbGU6MgoJUmVkZWZpbmVkIGF0OiBmaWxlOjEwIiBjb250YWluczogIjIiClRhZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB3aGF0LCBDb250YWlucyggIjEwIiApIGZvcjogImVycm9yOiB0YWcgYWxpYXMsICdbQHp6el0nIGFscmVhZHkgcmVnaXN0ZXJlZC4KCUZpcnN0IHNlZW4gYXQ6IGZpbGU6MgoJUmVkZWZpbmVkIGF0OiBmaWxlOjEwIiBjb250YWluczogIjEwIgpUYWcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcmVnaXN0cnkuYWRkKCAiW25vIGFtcGVyc2F0XSIsICIiLCBDYXRjaDo6U291cmNlTGluZUluZm8oICJmaWxlIiwgMyApICkKVGFnLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHJlZ2lzdHJ5LmFkZCggIlt0aGUgQCBpcyBub3QgYXQgdGhlIHN0YXJ0XSIsICIiLCBDYXRjaDo6U291cmNlTGluZUluZm8oICJmaWxlIiwgMyApICkKVGFnLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHJlZ2lzdHJ5LmFkZCggIkBubyBzcXVhcmUgYnJhY2tldCBhdCBzdGFydF0iLCAiIiwgQ2F0Y2g6OlNvdXJjZUxpbmVJbmZvKCAiZmlsZSIsIDMgKSApClRhZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiByZWdpc3RyeS5hZGQoICJbQG5vIHNxdWFyZSBicmFja2V0IGF0IGVuZCIsICIiLCBDYXRjaDo6U291cmNlTGluZUluZm8oICJmaWxlIiwgMyApICkKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LnNpemUoKSA9PSA1IGZvcjogNSA9PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID49IDUgZm9yOiA1ID49IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LnNpemUoKSA9PSAxMCBmb3I6IDEwID09IDEwCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID49IDEwIGZvcjogMTAgPj0gMTAKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LnNpemUoKSA9PSA1IGZvcjogNSA9PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID49IDUgZm9yOiA1ID49IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LnNpemUoKSA9PSAwIGZvcjogMCA9PSAwCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID49IDUgZm9yOiA1ID49IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPT0gMCBmb3I6IDAgPT0gMApNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDUgZm9yOiA1ID09IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gNSBmb3I6IDUgPj0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDUgZm9yOiA1ID09IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gMTAgZm9yOiAxMCA+PSAxMApNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDUgZm9yOiA1ID09IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gNSBmb3I6IDUgPj0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDUgZm9yOiA1ID09IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gNSBmb3I6IDUgPj0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDUgZm9yOiA1ID09IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gNSBmb3I6IDUgPj0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDEwIGZvcjogMTAgPT0gMTAKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gMTAgZm9yOiAxMCA+PSAxMApNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDUgZm9yOiA1ID09IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gNSBmb3I6IDUgPj0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDAgZm9yOiAwID09IDAKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gNSBmb3I6IDUgPj0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA9PSAwIGZvcjogMCA9PSAwCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5zaXplKCkgPT0gNSBmb3I6IDUgPT0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA+PSA1IGZvcjogNSA+PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5zaXplKCkgPT0gNSBmb3I6IDUgPT0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA+PSAxMCBmb3I6IDEwID49IDEwCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5zaXplKCkgPT0gNSBmb3I6IDUgPT0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA+PSA1IGZvcjogNSA+PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5zaXplKCkgPT0gNSBmb3I6IDUgPT0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA+PSA1IGZvcjogNSA+PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5zaXplKCkgPT0gNSBmb3I6IDUgPT0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA+PSA1IGZvcjogNSA+PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5zaXplKCkgPT0gMTAgZm9yOiAxMCA9PSAxMApNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA+PSAxMCBmb3I6IDEwID49IDEwCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5zaXplKCkgPT0gNSBmb3I6IDUgPT0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA+PSA1IGZvcjogNSA+PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5zaXplKCkgPT0gMCBmb3I6IDAgPT0gMApNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA+PSA1IGZvcjogNSA+PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID09IDAgZm9yOiAwID09IDAKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LnNpemUoKSA9PSA1IGZvcjogNSA9PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID49IDUgZm9yOiA1ID49IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LnNpemUoKSA9PSA1IGZvcjogNSA9PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID49IDEwIGZvcjogMTAgPj0gMTAKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LnNpemUoKSA9PSA1IGZvcjogNSA9PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID49IDUgZm9yOiA1ID49IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LnNpemUoKSA9PSA1IGZvcjogNSA9PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID49IDUgZm9yOiA1ID49IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LnNpemUoKSA9PSA1IGZvcjogNSA9PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID49IDUgZm9yOiA1ID49IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LnNpemUoKSA9PSAxMCBmb3I6IDEwID09IDEwCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID49IDEwIGZvcjogMTAgPj0gMTAKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LnNpemUoKSA9PSA1IGZvcjogNSA9PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID49IDUgZm9yOiA1ID49IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LnNpemUoKSA9PSAwIGZvcjogMCA9PSAwCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5jYXBhY2l0eSgpID49IDUgZm9yOiA1ID49IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPT0gMCBmb3I6IDAgPT0gMApNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDUgZm9yOiA1ID09IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gNSBmb3I6IDUgPj0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDUgZm9yOiA1ID09IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gMTAgZm9yOiAxMCA+PSAxMApNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDUgZm9yOiA1ID09IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gNSBmb3I6IDUgPj0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDUgZm9yOiA1ID09IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gNSBmb3I6IDUgPj0gNQpWYXJpYWRpY01hY3Jvcy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB3aXRoIDEgbWVzc2FnZTogJ25vIGFzc2VydGlvbnMnClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAweDxoZXggZGlnaXRzPiA9PSBiaXQzMGFuZDMxIGZvcjogMzIyMTIyNTQ3MiAoMHg8aGV4IGRpZ2l0cz4pID09IDMyMjEyMjU0NzIKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkIC0gYnV0IHdhcyBvazogMSA9PSAyCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogd2l0aCAxIG1lc3NhZ2U6ICdvb3BzIScKRXhjZXB0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdpdGggbWVzc2FnZTogJ0ZvciBzb21lIHJlYXNvbiBzb21lb25lIGlzIHRocm93aW5nIGEgc3RyaW5nIGxpdGVyYWwhJwpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0Q2FzZS5pc09wZW4oKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogczEuaXNPcGVuKCkgZm9yOiB0cnVlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHMxLmlzU3VjY2Vzc2Z1bGx5Q29tcGxldGVkKCkgZm9yOiB0cnVlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RDYXNlLmlzQ29tcGxldGUoKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGN0eC5jb21wbGV0ZWRDeWNsZSgpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0Q2FzZS5pc1N1Y2Nlc3NmdWxseUNvbXBsZXRlZCgpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0Q2FzZS5pc09wZW4oKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogczEuaXNPcGVuKCkgZm9yOiB0cnVlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHMxLmlzQ29tcGxldGUoKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogczEuaXNTdWNjZXNzZnVsbHlDb21wbGV0ZWQoKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RDYXNlLmlzQ29tcGxldGUoKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGN0eC5jb21wbGV0ZWRDeWNsZSgpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0Q2FzZS5pc1N1Y2Nlc3NmdWxseUNvbXBsZXRlZCgpID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdENhc2UyLmlzT3BlbigpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzMWIuaXNPcGVuKCkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjdHguY29tcGxldGVkQ3ljbGUoKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdENhc2UuaXNDb21wbGV0ZSgpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0Q2FzZS5pc1N1Y2Nlc3NmdWxseUNvbXBsZXRlZCgpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0Q2FzZS5pc09wZW4oKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogczEuaXNPcGVuKCkgZm9yOiB0cnVlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHMxLmlzQ29tcGxldGUoKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogczEuaXNTdWNjZXNzZnVsbHlDb21wbGV0ZWQoKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RDYXNlLmlzQ29tcGxldGUoKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGN0eC5jb21wbGV0ZWRDeWNsZSgpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0Q2FzZS5pc1N1Y2Nlc3NmdWxseUNvbXBsZXRlZCgpID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdENhc2UyLmlzT3BlbigpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzMWIuaXNPcGVuKCkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzMi5pc09wZW4oKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY3R4LmNvbXBsZXRlZEN5Y2xlKCkgZm9yOiB0cnVlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RDYXNlLmlzQ29tcGxldGUoKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdENhc2UuaXNTdWNjZXNzZnVsbHlDb21wbGV0ZWQoKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdENhc2UuaXNPcGVuKCkgZm9yOiB0cnVlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHMxLmlzT3BlbigpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzMi5pc09wZW4oKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RDYXNlLmlzQ29tcGxldGUoKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RDYXNlMi5pc09wZW4oKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogczFiLmlzT3BlbigpID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogczJiLmlzT3BlbigpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBjdHguY29tcGxldGVkQ3ljbGUoKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGN0eC5jb21wbGV0ZWRDeWNsZSgpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzMmIuaXNTdWNjZXNzZnVsbHlDb21wbGV0ZWQoKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdENhc2UyLmlzQ29tcGxldGUoKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RDYXNlMi5pc1N1Y2Nlc3NmdWxseUNvbXBsZXRlZCgpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0Q2FzZS5pc09wZW4oKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogczEuaXNPcGVuKCkgZm9yOiB0cnVlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHMyLmlzT3BlbigpID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdENhc2UuaXNDb21wbGV0ZSgpID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdENhc2UyLmlzT3BlbigpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzMWIuaXNPcGVuKCkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzMmIuaXNPcGVuKCkgZm9yOiB0cnVlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGN0eC5jb21wbGV0ZWRDeWNsZSgpID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogY3R4LmNvbXBsZXRlZEN5Y2xlKCkgZm9yOiB0cnVlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHMyYi5pc0NvbXBsZXRlKCkgZm9yOiB0cnVlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHMyYi5pc1N1Y2Nlc3NmdWxseUNvbXBsZXRlZCgpID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdENhc2UyLmlzU3VjY2Vzc2Z1bGx5Q29tcGxldGVkKCkgPT0gZmFsc2UgZm9yOiBmYWxzZSA9PSBmYWxzZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0Q2FzZTMuaXNPcGVuKCkgZm9yOiB0cnVlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHMxYy5pc09wZW4oKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHMyYy5pc09wZW4oKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RDYXNlMy5pc1N1Y2Nlc3NmdWxseUNvbXBsZXRlZCgpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0Q2FzZS5pc09wZW4oKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogczEuaXNPcGVuKCkgZm9yOiB0cnVlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHMyLmlzT3BlbigpIGZvcjogdHJ1ZQpQYXJ0VHJhY2tlci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzMi5pc0NvbXBsZXRlKCkgZm9yOiB0cnVlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHMxLmlzQ29tcGxldGUoKSA9PSBmYWxzZSBmb3I6IGZhbHNlID09IGZhbHNlClBhcnRUcmFja2VyLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHMxLmlzQ29tcGxldGUoKSBmb3I6IHRydWUKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdENhc2UuaXNDb21wbGV0ZSgpID09IGZhbHNlIGZvcjogZmFsc2UgPT0gZmFsc2UKUGFydFRyYWNrZXIudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGVzdENhc2UuaXNDb21wbGV0ZSgpIGZvcjogdHJ1ZQpFeGNlcHRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdW5leHBlY3RlZCBleGNlcHRpb24gd2l0aCBtZXNzYWdlOiAnMy4xNCcKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGQgPT0gYXBwcm94KCAxLjIzICkgZm9yOiAxLjIzID09IEFwcHJveCggMS4yMyApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBkID09IGFwcHJveCggMS4yMiApIGZvcjogMS4yMyA9PSBBcHByb3goIDEuMjIgKQpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZCA9PSBhcHByb3goIDEuMjQgKSBmb3I6IDEuMjMgPT0gQXBwcm94KCAxLjI0ICkKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGQgIT0gYXBwcm94KCAxLjI1ICkgZm9yOiAxLjIzICE9IEFwcHJveCggMS4yNSApCkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBhcHByb3goIGQgKSA9PSAxLjIzIGZvcjogQXBwcm94KCAxLjIzICkgPT0gMS4yMwpBcHByb3gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYXBwcm94KCBkICkgPT0gMS4yMiBmb3I6IEFwcHJveCggMS4yMyApID09IDEuMjIKQXBwcm94LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGFwcHJveCggZCApID09IDEuMjQgZm9yOiBBcHByb3goIDEuMjMgKSA9PSAxLjI0CkFwcHJveC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBhcHByb3goIGQgKSAhPSAxLjI1IGZvcjogQXBwcm94KCAxLjIzICkgIT0gMS4yNQpWYXJpYWRpY01hY3Jvcy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB3aXRoIDEgbWVzc2FnZTogJ25vIGFzc2VydGlvbnMnCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVtcHR5LCBBcHByb3goZW1wdHkpIGZvcjogeyAgfSBpcyBhcHByb3g6IHsgIH0KTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdjEsIEFwcHJveCh2MSkgZm9yOiB7IDEuMCwgMi4wLCAzLjAgfSBpcyBhcHByb3g6IHsgMS4wLCAyLjAsIDMuMCB9Ck1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYxLCAhQXBwcm94KHRlbXApIGZvcjogeyAxLjAsIDIuMCwgMy4wIH0gbm90IGlzIGFwcHJveDogeyAxLjAsIDIuMCwgMy4wLCA0LjAgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2MSwgIUFwcHJveCh2MikgZm9yOiB7IDEuMCwgMi4wLCAzLjAgfSBub3QgaXMgYXBwcm94OiB7IDEuNSwgMi41LCAzLjUgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2MSwgQXBwcm94KHYyKS5tYXJnaW4oMC41KSBmb3I6IHsgMS4wLCAyLjAsIDMuMCB9IGlzIGFwcHJveDogeyAxLjUsIDIuNSwgMy41IH0KTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdjEsIEFwcHJveCh2MikuZXBzaWxvbigwLjUpIGZvcjogeyAxLjAsIDIuMCwgMy4wIH0gaXMgYXBwcm94OiB7IDEuNSwgMi41LCAzLjUgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2MSwgQXBwcm94KHYyKS5lcHNpbG9uKDAuMSkuc2NhbGUoNTAwKSBmb3I6IHsgMS4wLCAyLjAsIDMuMCB9IGlzIGFwcHJveDogeyAxLjUsIDIuNSwgMy41IH0KTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZW1wdHksIEFwcHJveCh0MSkgZm9yOiB7ICB9IGlzIGFwcHJveDogeyAxLjAsIDIuMCB9Ck1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHYxLCBBcHByb3godjIpIGZvcjogeyAyLjAsIDQuMCwgNi4wIH0gaXMgYXBwcm94OiB7IDEuMCwgMy4wLCA1LjAgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LCBWZWN0b3JDb250YWlucygxKSBmb3I6IHsgMSwgMiwgMyB9IENvbnRhaW5zOiAxCk1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYsIFZlY3RvckNvbnRhaW5zKDIpIGZvcjogeyAxLCAyLCAzIH0gQ29udGFpbnM6IDIKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdiwgQ29udGFpbnModjIpIGZvcjogeyAxLCAyLCAzIH0gQ29udGFpbnM6IHsgMSwgMiB9Ck1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYsIENvbnRhaW5zKHYyKSBmb3I6IHsgMSwgMiwgMyB9IENvbnRhaW5zOiB7IDEsIDIsIDMgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LCBDb250YWlucyhlbXB0eSkgZm9yOiB7IDEsIDIsIDMgfSBDb250YWluczogeyAgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbXB0eSwgQ29udGFpbnMoZW1wdHkpIGZvcjogeyAgfSBDb250YWluczogeyAgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LCBWZWN0b3JDb250YWlucygxKSAmJiBWZWN0b3JDb250YWlucygyKSBmb3I6IHsgMSwgMiwgMyB9ICggQ29udGFpbnM6IDEgYW5kIENvbnRhaW5zOiAyICkKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdiwgRXF1YWxzKHYpIGZvcjogeyAxLCAyLCAzIH0gRXF1YWxzOiB7IDEsIDIsIDMgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbXB0eSwgRXF1YWxzKGVtcHR5KSBmb3I6IHsgIH0gRXF1YWxzOiB7ICB9Ck1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYsIEVxdWFscyh2MikgZm9yOiB7IDEsIDIsIDMgfSBFcXVhbHM6IHsgMSwgMiwgMyB9Ck1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYsIFVub3JkZXJlZEVxdWFscyh2KSBmb3I6IHsgMSwgMiwgMyB9IFVub3JkZXJlZEVxdWFsczogeyAxLCAyLCAzIH0KTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW1wdHksIFVub3JkZXJlZEVxdWFscyhlbXB0eSkgZm9yOiB7ICB9IFVub3JkZXJlZEVxdWFsczogeyAgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBwZXJtdXRlZCwgVW5vcmRlcmVkRXF1YWxzKHYpIGZvcjogeyAxLCAzLCAyIH0gVW5vcmRlcmVkRXF1YWxzOiB7IDEsIDIsIDMgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBwZXJtdXRlZCwgVW5vcmRlcmVkRXF1YWxzKHYpIGZvcjogeyAyLCAzLCAxIH0gVW5vcmRlcmVkRXF1YWxzOiB7IDEsIDIsIDMgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB2LCBWZWN0b3JDb250YWlucygtMSkgZm9yOiB7IDEsIDIsIDMgfSBDb250YWluczogLTEKTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZW1wdHksIFZlY3RvckNvbnRhaW5zKDEpIGZvcjogeyAgfSBDb250YWluczogMQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBlbXB0eSwgQ29udGFpbnModikgZm9yOiB7ICB9IENvbnRhaW5zOiB7IDEsIDIsIDMgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB2LCBDb250YWlucyh2MikgZm9yOiB7IDEsIDIsIDMgfSBDb250YWluczogeyAxLCAyLCA0IH0KTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdiwgRXF1YWxzKHYyKSBmb3I6IHsgMSwgMiwgMyB9IEVxdWFsczogeyAxLCAyIH0KTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdjIsIEVxdWFscyh2KSBmb3I6IHsgMSwgMiB9IEVxdWFsczogeyAxLCAyLCAzIH0KTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZW1wdHksIEVxdWFscyh2KSBmb3I6IHsgIH0gRXF1YWxzOiB7IDEsIDIsIDMgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB2LCBFcXVhbHMoZW1wdHkpIGZvcjogeyAxLCAyLCAzIH0gRXF1YWxzOiB7ICB9Ck1hdGNoZXJzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHYsIFVub3JkZXJlZEVxdWFscyhlbXB0eSkgZm9yOiB7IDEsIDIsIDMgfSBVbm9yZGVyZWRFcXVhbHM6IHsgIH0KTWF0Y2hlcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZW1wdHksIFVub3JkZXJlZEVxdWFscyh2KSBmb3I6IHsgIH0gVW5vcmRlcmVkRXF1YWxzOiB7IDEsIDIsIDMgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBwZXJtdXRlZCwgVW5vcmRlcmVkRXF1YWxzKHYpIGZvcjogeyAxLCAzIH0gVW5vcmRlcmVkRXF1YWxzOiB7IDEsIDIsIDMgfQpNYXRjaGVycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBwZXJtdXRlZCwgVW5vcmRlcmVkRXF1YWxzKHYpIGZvcjogeyAzLCAxIH0gVW5vcmRlcmVkRXF1YWxzOiB7IDEsIDIsIDMgfQpFeGNlcHRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGhpc1Rocm93cygpLCBzdGQ6OmRvbWFpbl9lcnJvcgpFeGNlcHRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdGhpc0RvZXNudFRocm93KCkKRXhjZXB0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRoaXNUaHJvd3MoKQpFeGNlcHRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdW5leHBlY3RlZCBleGNlcHRpb24gd2l0aCBtZXNzYWdlOiAndW5leHBlY3RlZCBleGNlcHRpb24nCkV4Y2VwdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aXRoIG1lc3NhZ2U6ICdleHBlY3RlZCBleGNlcHRpb24nOyBleHByZXNzaW9uIHdhczogdGhpc1Rocm93cygpID09IDAKRXhjZXB0aW9uLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdpdGggbWVzc2FnZTogJ2V4cGVjdGVkIGV4Y2VwdGlvbic7IGV4cHJlc3Npb24gd2FzOiB0aGlzVGhyb3dzKCkgPT0gMApFeGNlcHRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdW5leHBlY3RlZCBleGNlcHRpb24gd2l0aCBtZXNzYWdlOiAnZXhwZWN0ZWQgZXhjZXB0aW9uJzsgZXhwcmVzc2lvbiB3YXM6IHRoaXNUaHJvd3MoKSA9PSAwCkV4Y2VwdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aXRoIG1lc3NhZ2U6ICd1bmV4cGVjdGVkIGV4Y2VwdGlvbicKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiB3YXJuaW5nOiAnVW5jb21tZW50IHRoZSBjb2RlIGluIHRoaXMgdGVzdCB0byBjaGVjayB0aGF0IGl0IGdpdmVzIGEgc2Vuc2libGUgY29tcGlsZXIgZXJyb3InClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogd2FybmluZzogJ1VuY29tbWVudCB0aGUgY29kZSBpbiB0aGlzIHRlc3QgdG8gY2hlY2sgdGhhdCBpdCBnaXZlcyBhIHNlbnNpYmxlIGNvbXBpbGVyIGVycm9yJwpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDoKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOgpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDoKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSggIm5vcm1hbCBzdHJpbmciICkgPT0gIm5vcm1hbCBzdHJpbmciIGZvcjogIm5vcm1hbCBzdHJpbmciID09ICJub3JtYWwgc3RyaW5nIgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCAiIiApID09ICIiIGZvcjogIiIgPT0gIiIKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSggInNtaXRoICYgam9uZXMiICkgPT0gInNtaXRoICZhbXA7IGpvbmVzIiBmb3I6ICJzbWl0aCAmYW1wOyBqb25lcyIgPT0gInNtaXRoICZhbXA7IGpvbmVzIgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCAic21pdGggPCBqb25lcyIgKSA9PSAic21pdGggJmx0OyBqb25lcyIgZm9yOiAic21pdGggJmx0OyBqb25lcyIgPT0gInNtaXRoICZsdDsgam9uZXMiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoICJzbWl0aCA+IGpvbmVzIiApID09ICJzbWl0aCA+IGpvbmVzIiBmb3I6ICJzbWl0aCA+IGpvbmVzIiA9PSAic21pdGggPiBqb25lcyIKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSggInNtaXRoIF1dPiBqb25lcyIgKSA9PSAic21pdGggXV0mZ3Q7IGpvbmVzIiBmb3I6ICJzbWl0aCBdXSZndDsgam9uZXMiCj09CiJzbWl0aCBdXSZndDsgam9uZXMiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIHN0cmluZ1dpdGhRdW90ZXMgKSA9PSBzdHJpbmdXaXRoUXVvdGVzIGZvcjogImRvbid0ICJxdW90ZSIgbWUgb24gdGhhdCIKPT0KImRvbid0ICJxdW90ZSIgbWUgb24gdGhhdCIKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSggc3RyaW5nV2l0aFF1b3RlcywgQ2F0Y2g6OlhtbEVuY29kZTo6Rm9yQXR0cmlidXRlcyApID09ICJkb24ndCAmcXVvdDtxdW90ZSZxdW90OyBtZSBvbiB0aGF0IiBmb3I6ICJkb24ndCAmcXVvdDtxdW90ZSZxdW90OyBtZSBvbiB0aGF0Igo9PQoiZG9uJ3QgJnF1b3Q7cXVvdGUmcXVvdDsgbWUgb24gdGhhdCIKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSggIltceDAxXSIgKSA9PSAiW1xceDAxXSIgZm9yOiAiW1x4MDFdIiA9PSAiW1x4MDFdIgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCAiW1x4N0ZdIiApID09ICJbXFx4N0ZdIiBmb3I6ICJbXHg3Rl0iID09ICJbXHg3Rl0iClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUodTgiSGVyZSBiZSDwn5G+IikgPT0gdTgiSGVyZSBiZSDwn5G+IiBmb3I6ICJIZXJlIGJlIPCfkb4iID09ICJIZXJlIGJlIPCfkb4iClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUodTgixaHFoSIpID09IHU4IsWhxaEiIGZvcjogIsWhxaEiID09ICLFocWhIgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCJceERGXHhCRiIpID09ICJceERGXHhCRiIgZm9yOiAi378iID09ICLfvyIKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSgiXHhFMFx4QTBceDgwIikgPT0gIlx4RTBceEEwXHg4MCIgZm9yOiAi4KCAIiA9PSAi4KCAIgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCJceEVEXHg5Rlx4QkYiKSA9PSAiXHhFRFx4OUZceEJGIiBmb3I6ICLtn78iID09ICLtn78iClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4RUVceDgwXHg4MCIpID09ICJceEVFXHg4MFx4ODAiIGZvcjogIu6AgCIgPT0gIu6AgCIKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSgiXHhFRlx4QkZceEJGIikgPT0gIlx4RUZceEJGXHhCRiIgZm9yOiAi77+/IiA9PSAi77+/IgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCJceEYwXHg5MFx4ODBceDgwIikgPT0gIlx4RjBceDkwXHg4MFx4ODAiIGZvcjogIvCQgIAiID09ICLwkICAIgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCJceEY0XHg4Rlx4QkZceEJGIikgPT0gIlx4RjRceDhGXHhCRlx4QkYiIGZvcjogIvSPv78iID09ICL0j7+/IgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCJIZXJlIFx4RkYgYmUg8J+RviIpID09IHU4IkhlcmUgXFx4RkYgYmUg8J+RviIgZm9yOiAiSGVyZSBceEZGIGJlIPCfkb4iID09ICJIZXJlIFx4RkYgYmUg8J+RviIKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSgiXHhGRiIpID09ICJcXHhGRiIgZm9yOiAiXHhGRiIgPT0gIlx4RkYiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4QzVceEM1XHhBMCIpID09IHU4IlxceEM1xaAiIGZvcjogIlx4QzXFoCIgPT0gIlx4QzXFoCIKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSgiXHhGNFx4OTBceDgwXHg4MCIpID09IHU4IlxceEY0XFx4OTBcXHg4MFxceDgwIiBmb3I6ICJceEY0XHg5MFx4ODBceDgwIiA9PSAiXHhGNFx4OTBceDgwXHg4MCIKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSgiXHhDMFx4ODAiKSA9PSB1OCJcXHhDMFxceDgwIiBmb3I6ICJceEMwXHg4MCIgPT0gIlx4QzBceDgwIgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCJceEYwXHg4MFx4ODBceDgwIikgPT0gdTgiXFx4RjBcXHg4MFxceDgwXFx4ODAiIGZvcjogIlx4RjBceDgwXHg4MFx4ODAiID09ICJceEYwXHg4MFx4ODBceDgwIgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCJceEMxXHhCRiIpID09IHU4IlxceEMxXFx4QkYiIGZvcjogIlx4QzFceEJGIiA9PSAiXHhDMVx4QkYiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4RTBceDlGXHhCRiIpID09IHU4IlxceEUwXFx4OUZcXHhCRiIgZm9yOiAiXHhFMFx4OUZceEJGIiA9PSAiXHhFMFx4OUZceEJGIgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCJceEYwXHg4Rlx4QkZceEJGIikgPT0gdTgiXFx4RjBcXHg4RlxceEJGXFx4QkYiIGZvcjogIlx4RjBceDhGXHhCRlx4QkYiID09ICJceEYwXHg4Rlx4QkZceEJGIgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCJceEVEXHhBMFx4ODAiKSA9PSAiXHhFRFx4QTBceDgwIiBmb3I6ICLtoIAiID09ICLtoIAiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4RURceEFGXHhCRiIpID09ICJceEVEXHhBRlx4QkYiIGZvcjogIu2vvyIgPT0gIu2vvyIKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSgiXHhFRFx4QjBceDgwIikgPT0gIlx4RURceEIwXHg4MCIgZm9yOiAi7bCAIiA9PSAi7bCAIgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCJceEVEXHhCRlx4QkYiKSA9PSAiXHhFRFx4QkZceEJGIiBmb3I6ICLtv78iID09ICLtv78iClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4ODAiKSA9PSB1OCJcXHg4MCIgZm9yOiAiXHg4MCIgPT0gIlx4ODAiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4ODEiKSA9PSB1OCJcXHg4MSIgZm9yOiAiXHg4MSIgPT0gIlx4ODEiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4QkMiKSA9PSB1OCJcXHhCQyIgZm9yOiAiXHhCQyIgPT0gIlx4QkMiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4QkYiKSA9PSB1OCJcXHhCRiIgZm9yOiAiXHhCRiIgPT0gIlx4QkYiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4RjVceDgwXHg4MFx4ODAiKSA9PSB1OCJcXHhGNVxceDgwXFx4ODBcXHg4MCIgZm9yOiAiXHhGNVx4ODBceDgwXHg4MCIgPT0gIlx4RjVceDgwXHg4MFx4ODAiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4RjZceDgwXHg4MFx4ODAiKSA9PSB1OCJcXHhGNlxceDgwXFx4ODBcXHg4MCIgZm9yOiAiXHhGNlx4ODBceDgwXHg4MCIgPT0gIlx4RjZceDgwXHg4MFx4ODAiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4RjdceDgwXHg4MFx4ODAiKSA9PSB1OCJcXHhGN1xceDgwXFx4ODBcXHg4MCIgZm9yOiAiXHhGN1x4ODBceDgwXHg4MCIgPT0gIlx4RjdceDgwXHg4MFx4ODAiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4REUiKSA9PSB1OCJcXHhERSIgZm9yOiAiXHhERSIgPT0gIlx4REUiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4REYiKSA9PSB1OCJcXHhERiIgZm9yOiAiXHhERiIgPT0gIlx4REYiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4RTAiKSA9PSB1OCJcXHhFMCIgZm9yOiAiXHhFMCIgPT0gIlx4RTAiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4RUYiKSA9PSB1OCJcXHhFRiIgZm9yOiAiXHhFRiIgPT0gIlx4RUYiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4RjAiKSA9PSB1OCJcXHhGMCIgZm9yOiAiXHhGMCIgPT0gIlx4RjAiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4RjQiKSA9PSB1OCJcXHhGNCIgZm9yOiAiXHhGNCIgPT0gIlx4RjQiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4RTBceDgwIikgPT0gdTgiXFx4RTBcXHg4MCIgZm9yOiAiXHhFMFx4ODAiID09ICJceEUwXHg4MCIKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSgiXHhFMFx4QkYiKSA9PSB1OCJcXHhFMFxceEJGIiBmb3I6ICJceEUwXHhCRiIgPT0gIlx4RTBceEJGIgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCJceEUxXHg4MCIpID09IHU4IlxceEUxXFx4ODAiIGZvcjogIlx4RTFceDgwIiA9PSAiXHhFMVx4ODAiClhtbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBlbmNvZGUoIlx4RjBceDgwIikgPT0gdTgiXFx4RjBcXHg4MCIgZm9yOiAiXHhGMFx4ODAiID09ICJceEYwXHg4MCIKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSgiXHhGNFx4ODAiKSA9PSB1OCJcXHhGNFxceDgwIiBmb3I6ICJceEY0XHg4MCIgPT0gIlx4RjRceDgwIgpYbWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZW5jb2RlKCJceEYwXHg4MFx4ODAiKSA9PSB1OCJcXHhGMFxceDgwXFx4ODAiIGZvcjogIlx4RjBceDgwXHg4MCIgPT0gIlx4RjBceDgwXHg4MCIKWG1sLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGVuY29kZSgiXHhGNFx4ODBceDgwIikgPT0gdTgiXFx4RjRcXHg4MFxceDgwIiBmb3I6ICJceEY0XHg4MFx4ODAiID09ICJceEY0XHg4MFx4ODAiClRvU3RyaW5nVmVjdG9yLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IENhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSggZW1wdHkgKSA9PSAieyAgfSIgZm9yOiAieyAgfSIgPT0gInsgIH0iClRvU3RyaW5nVmVjdG9yLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IENhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSggb25lVmFsdWUgKSA9PSAieyA0MiB9IiBmb3I6ICJ7IDQyIH0iID09ICJ7IDQyIH0iClRvU3RyaW5nVmVjdG9yLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IENhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSggdHdvVmFsdWVzICkgPT0gInsgNDIsIDI1MCB9IiBmb3I6ICJ7IDQyLCAyNTAgfSIgPT0gInsgNDIsIDI1MCB9IgpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHggPT0gMCBmb3I6IDAgPT0gMApUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogb2JqLnByb3AgIT0gMCBmb3I6IDB4PGhleCBkaWdpdHM+ICE9IDAKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBmbGFnIGZvcjogdHJ1ZQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRlc3RDaGVja2VkRWxzZSggdHJ1ZSApIGZvcjogdHJ1ZQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGZsYWcgZm9yOiBmYWxzZQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHRlc3RDaGVja2VkRWxzZSggZmFsc2UgKSBmb3I6IGZhbHNlCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZmxhZyBmb3I6IHRydWUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0Q2hlY2tlZElmKCB0cnVlICkgZm9yOiB0cnVlCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZmxhZyBmb3I6IGZhbHNlCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdGVzdENoZWNrZWRJZiggZmFsc2UgKSBmb3I6IGZhbHNlCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB1bnNpZ25lZF9jaGFyX3ZhciA9PSAxIGZvcjogMSA9PSAxCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB1bnNpZ25lZF9zaG9ydF92YXIgPT0gMSBmb3I6IDEgPT0gMQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdW5zaWduZWRfaW50X3ZhciA9PSAxIGZvcjogMSA9PSAxCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB1bnNpZ25lZF9sb25nX3ZhciA9PSAxIGZvcjogMSA9PSAxCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBsb25nX3ZhciA9PSB1bnNpZ25lZF9jaGFyX3ZhciBmb3I6IDEgPT0gMQpDb25kaXRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogbG9uZ192YXIgPT0gdW5zaWduZWRfc2hvcnRfdmFyIGZvcjogMSA9PSAxCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBsb25nX3ZhciA9PSB1bnNpZ25lZF9pbnRfdmFyIGZvcjogMSA9PSAxCkNvbmRpdGlvbi50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBsb25nX3ZhciA9PSB1bnNpZ25lZF9sb25nX3ZhciBmb3I6IDEgPT0gMQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDoKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOgpsb29zZSB0ZXh0IGFydGlmYWN0Ck1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZXhwbGljaXRseSB3aXRoIDEgbWVzc2FnZTogJ1ByZXZpb3VzIGluZm8gc2hvdWxkIG5vdCBiZSBzZWVuJwpNZXNzYWdlLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGV4cGxpY2l0bHkgd2l0aCAxIG1lc3NhZ2U6ICdwcmV2aW91cyB1bnNjb3BlZCBpbmZvIFNIT1VMRCBub3QgYmUgc2VlbicKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBsID09IHN0ZDo6bnVtZXJpY19saW1pdHM8bG9uZyBsb25nPjo6bWF4KCkgZm9yOiA5MjIzMzcyMDM2ODU0Nzc1ODA3ICgweDxoZXggZGlnaXRzPikKPT0KOTIyMzM3MjAzNjg1NDc3NTgwNyAoMHg8aGV4IGRpZ2l0cz4pCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogYiA+IGEgZm9yOiAwID4gMQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGIgPiBhIGZvcjogMSA+IDEKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBiID4gYSBmb3I6IDIgPiAxCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYiA+IGEgZm9yOiAzID4gMQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGIgPiBhIGZvcjogNCA+IDEKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBiID4gYSBmb3I6IDUgPiAxCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYiA+IGEgZm9yOiA2ID4gMQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGIgPiBhIGZvcjogNyA+IDEKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBiID4gYSBmb3I6IDggPiAxCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYiA+IGEgZm9yOiA5ID4gMQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6ICggZmliW2ldICUgMiApID09IDAgZm9yOiAxID09IDAgd2l0aCAxIG1lc3NhZ2U6ICdUZXN0aW5nIGlmIGZpYlswXSAoMSkgaXMgZXZlbicKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiAoIGZpYltpXSAlIDIgKSA9PSAwIGZvcjogMSA9PSAwIHdpdGggMSBtZXNzYWdlOiAnVGVzdGluZyBpZiBmaWJbMV0gKDEpIGlzIGV2ZW4nCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogKCBmaWJbaV0gJSAyICkgPT0gMCBmb3I6IDAgPT0gMCB3aXRoIDEgbWVzc2FnZTogJ1Rlc3RpbmcgaWYgZmliWzJdICgyKSBpcyBldmVuJwpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6ICggZmliW2ldICUgMiApID09IDAgZm9yOiAxID09IDAgd2l0aCAxIG1lc3NhZ2U6ICdUZXN0aW5nIGlmIGZpYlszXSAoMykgaXMgZXZlbicKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiAoIGZpYltpXSAlIDIgKSA9PSAwIGZvcjogMSA9PSAwIHdpdGggMSBtZXNzYWdlOiAnVGVzdGluZyBpZiBmaWJbNF0gKDUpIGlzIGV2ZW4nCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogKCBmaWJbaV0gJSAyICkgPT0gMCBmb3I6IDAgPT0gMCB3aXRoIDEgbWVzc2FnZTogJ1Rlc3RpbmcgaWYgZmliWzVdICg4KSBpcyBldmVuJwpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6ICggZmliW2ldICUgMiApID09IDAgZm9yOiAxID09IDAgd2l0aCAxIG1lc3NhZ2U6ICdUZXN0aW5nIGlmIGZpYls2XSAoMTMpIGlzIGV2ZW4nCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogKCBmaWJbaV0gJSAyICkgPT0gMCBmb3I6IDEgPT0gMCB3aXRoIDEgbWVzc2FnZTogJ1Rlc3RpbmcgaWYgZmliWzddICgyMSkgaXMgZXZlbicKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogd2FybmluZzogJ2luZm8nIHdpdGggMiBtZXNzYWdlczogJ3Vuc2NvcGVkIGluZm8nIGFuZCAnYW5kIHdhcm4gbWF5IG1peCcKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogd2FybmluZzogJ2luZm8nIHdpdGggMiBtZXNzYWdlczogJ3Vuc2NvcGVkIGluZm8nIGFuZCAndGhleSBhcmUgbm90IGNsZWFyZWQgYWZ0ZXIgd2FybmluZ3MnCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogYSA9PSBiIGZvcjogMSA9PSAyCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYSAhPSBiIGZvcjogMSAhPSAyCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYSA8IGIgZm9yOiAxIDwgMgpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGEgIT0gYiBmb3I6IDEgIT0gMgpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGIgIT0gYSBmb3I6IDIgIT0gMQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGEgIT0gYiBmb3I6IDEgIT0gMgpUcmlja3kudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcyA9PSAiNyIgZm9yOiAiNyIgPT0gIjciClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0aSA9PSB0eXBlaWQoaW50KSBmb3I6IHs/fSA9PSB7P30KTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOgpNZXNzYWdlLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRydWUgd2l0aCAxIG1lc3NhZ2U6ICd0aGlzIE1BWSBiZSBzZWVuIG9ubHkgZm9yIHRoZSBGSVJTVCBhc3NlcnRpb24gSUYgaW5mbyBpcyBwcmludGVkIGZvciBwYXNzaW5nIGFzc2VydGlvbnMnCk1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdHJ1ZSB3aXRoIDEgbWVzc2FnZTogJ3RoaXMgTUFZIGJlIHNlZW4gb25seSBmb3IgdGhlIFNFQ09ORCBhc3NlcnRpb24gSUYgaW5mbyBpcyBwcmludGVkIGZvciBwYXNzaW5nIGFzc2VydGlvbnMnCk1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZmFsc2Ugd2l0aCAxIG1lc3NhZ2U6ICd0aGlzIFNIT1VMRCBiZSBzZWVuJwpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IG1ha2VTdHJpbmcoIGZhbHNlICkgIT0gc3RhdGljX2Nhc3Q8Y2hhcio+KDApIGZvcjogInZhbGlkIHN0cmluZyIgIT0ge251bGwgc3RyaW5nfQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IG1ha2VTdHJpbmcoIHRydWUgKSA9PSBzdGF0aWNfY2FzdDxjaGFyKj4oMCkgZm9yOiB7bnVsbCBzdHJpbmd9ID09IHtudWxsIHN0cmluZ30KVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHB0ci5nZXQoKSA9PSAwIGZvcjogMCA9PSAwClRvU3RyaW5nUGFpci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSggcGFpciApID09ICJ7IHsgNDIsIFwiQXJ0aHVyXCIgfSwgeyBcIkZvcmRcIiwgMjQgfSB9IiBmb3I6ICJ7IHsgNDIsICJBcnRodXIiIH0sIHsgIkZvcmQiLCAyNCB9IH0iCj09CiJ7IHsgNDIsICJBcnRodXIiIH0sIHsgIkZvcmQiLCAyNCB9IH0iClRyaWNreS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBwID09IDAgZm9yOiAwID09IDAKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0cnVlIHdpdGggMSBtZXNzYWdlOiAndGhpcyBNQVkgYmUgc2VlbiBJRiBpbmZvIGlzIHByaW50ZWQgZm9yIHBhc3NpbmcgYXNzZXJ0aW9ucycKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBmYWxzZSB3aXRoIDIgbWVzc2FnZXM6ICd0aGlzIFNIT1VMRCBiZSBzZWVuJyBhbmQgJ3RoaXMgU0hPVUxEIGFsc28gYmUgc2VlbicKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBmYWxzZSB3aXRoIDEgbWVzc2FnZTogJ3RoaXMgU0hPVUxEIGJlIHNlZW4gb25seSBPTkNFJwpNZXNzYWdlLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHRydWUKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0cnVlIHdpdGggMSBtZXNzYWdlOiAndGhpcyBNQVkgYWxzbyBiZSBzZWVuIG9ubHkgT05DRSBJRiBpbmZvIGlzIHByaW50ZWQgZm9yIHBhc3NpbmcgYXNzZXJ0aW9ucycKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0cnVlCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYSAhPSBiIGZvcjogMSAhPSAyCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYiAhPSBhIGZvcjogMiAhPSAxCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogYSAhPSBiIGZvcjogMSAhPSAyClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBDYXRjaDo6cmVwbGFjZUluUGxhY2UoIGxldHRlcnMsICJiIiwgInoiICkgZm9yOiB0cnVlClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBsZXR0ZXJzID09ICJhemNkZWZjZyIgZm9yOiAiYXpjZGVmY2ciID09ICJhemNkZWZjZyIKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IENhdGNoOjpyZXBsYWNlSW5QbGFjZSggbGV0dGVycywgImMiLCAieiIgKSBmb3I6IHRydWUKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGxldHRlcnMgPT0gImFiemRlZnpnIiBmb3I6ICJhYnpkZWZ6ZyIgPT0gImFiemRlZnpnIgpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogQ2F0Y2g6OnJlcGxhY2VJblBsYWNlKCBsZXR0ZXJzLCAiYSIsICJ6IiApIGZvcjogdHJ1ZQpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogbGV0dGVycyA9PSAiemJjZGVmY2ciIGZvcjogInpiY2RlZmNnIiA9PSAiemJjZGVmY2ciClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBDYXRjaDo6cmVwbGFjZUluUGxhY2UoIGxldHRlcnMsICJnIiwgInoiICkgZm9yOiB0cnVlClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBsZXR0ZXJzID09ICJhYmNkZWZjeiIgZm9yOiAiYWJjZGVmY3oiID09ICJhYmNkZWZjeiIKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IENhdGNoOjpyZXBsYWNlSW5QbGFjZSggbGV0dGVycywgbGV0dGVycywgInJlcGxhY2VkIiApIGZvcjogdHJ1ZQpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogbGV0dGVycyA9PSAicmVwbGFjZWQiIGZvcjogInJlcGxhY2VkIiA9PSAicmVwbGFjZWQiClN0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAhKENhdGNoOjpyZXBsYWNlSW5QbGFjZSggbGV0dGVycywgIngiLCAieiIgKSkgZm9yOiAhZmFsc2UKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IGxldHRlcnMgPT0gbGV0dGVycyBmb3I6ICJhYmNkZWZjZyIgPT0gImFiY2RlZmNnIgpTdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogQ2F0Y2g6OnJlcGxhY2VJblBsYWNlKCBzLCAiJyIsICJ8JyIgKSBmb3I6IHRydWUKU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHMgPT0gImRpZG58J3QiIGZvcjogImRpZG58J3QiID09ICJkaWRufCd0IgpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGZhbHNlIHdpdGggMSBtZXNzYWdlOiAnMycKTWVzc2FnZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogZmFpbGVkOiBmYWxzZSB3aXRoIDIgbWVzc2FnZXM6ICdoaScgYW5kICdpIDo9IDcnClRhZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB0ZXN0Y2FzZS50YWdzLCBDYXRjaDo6VmVjdG9yQ29udGFpbnMoc3RkOjpzdHJpbmcoIm1hZ2ljLXRhZyIpKSAmJiBDYXRjaDo6VmVjdG9yQ29udGFpbnMoc3RkOjpzdHJpbmcoIi4iKSkgZm9yOiB7ICIuIiwgIm1hZ2ljLXRhZyIgfSAoIENvbnRhaW5zOiAibWFnaWMtdGFnIiBhbmQgQ29udGFpbnM6ICIuIiApCk1lc3NhZ2UudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogZmFsc2Ugd2l0aCA0IG1lc3NhZ2VzOiAnQ291bnQgMSB0byAzLi4uJyBhbmQgJzEnIGFuZCAnMicgYW5kICczJwpNZXNzYWdlLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IGZhbHNlIHdpdGggNCBtZXNzYWdlczogJ0NvdW50IDQgdG8gNi4uLicgYW5kICc0JyBhbmQgJzUnIGFuZCAnNicKVG9TdHJpbmdHZW5lcmFsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IENhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSggZW1wdHlNYXAgKSA9PSAieyAgfSIgZm9yOiAieyAgfSIgPT0gInsgIH0iClRvU3RyaW5nR2VuZXJhbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoIG1hcCApID09ICJ7IHsgXCJvbmVcIiwgMSB9IH0iIGZvcjogInsgeyAib25lIiwgMSB9IH0iID09ICJ7IHsgIm9uZSIsIDEgfSB9IgpUb1N0cmluZ0dlbmVyYWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogQ2F0Y2g6OkRldGFpbDo6c3RyaW5naWZ5KCBtYXAgKSA9PSAieyB7IFwiYWJjXCIsIDEgfSwgeyBcImRlZlwiLCAyIH0sIHsgXCJnaGlcIiwgMyB9IH0iIGZvcjogInsgeyAiYWJjIiwgMSB9LCB7ICJkZWYiLCAyIH0sIHsgImdoaSIsIDMgfSB9Igo9PQoieyB7ICJhYmMiLCAxIH0sIHsgImRlZiIsIDIgfSwgeyAiZ2hpIiwgMyB9IH0iClRvU3RyaW5nUGFpci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSh2YWx1ZSkgPT0gInsgMzQsIFwieHl6enlcIiB9IiBmb3I6ICJ7IDM0LCAieHl6enkiIH0iID09ICJ7IDM0LCAieHl6enkiIH0iClRvU3RyaW5nUGFpci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSggdmFsdWUgKSA9PSAieyAzNCwgXCJ4eXp6eVwiIH0iIGZvcjogInsgMzQsICJ4eXp6eSIgfSIgPT0gInsgMzQsICJ4eXp6eSIgfSIKVG9TdHJpbmdHZW5lcmFsLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IENhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSggZW1wdHlTZXQgKSA9PSAieyAgfSIgZm9yOiAieyAgfSIgPT0gInsgIH0iClRvU3RyaW5nR2VuZXJhbC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoIHNldCApID09ICJ7IFwib25lXCIgfSIgZm9yOiAieyAib25lIiB9IiA9PSAieyAib25lIiB9IgpUb1N0cmluZ0dlbmVyYWwudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogQ2F0Y2g6OkRldGFpbDo6c3RyaW5naWZ5KCBzZXQgKSA9PSAieyBcImFiY1wiLCBcImRlZlwiLCBcImdoaVwiIH0iIGZvcjogInsgImFiYyIsICJkZWYiLCAiZ2hpIiB9Igo9PQoieyAiYWJjIiwgImRlZiIsICJnaGkiIH0iClRvU3RyaW5nUGFpci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSggcHIgKSA9PSAieyB7IFwiZ3JlZW5cIiwgNTUgfSB9IiBmb3I6ICJ7IHsgImdyZWVuIiwgNTUgfSB9Igo9PQoieyB7ICJncmVlbiIsIDU1IH0gfSIKVHJpY2t5LnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBmYWlsZWQ6IHN0ZDo6c3RyaW5nKCAiZmlyc3QiICkgPT0gInNlY29uZCIgZm9yOiAiZmlyc3QiID09ICJzZWNvbmQiClRvU3RyaW5nV2hpY2gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoc3RyZWFtYWJsZV9yYW5nZXt9KSA9PSAib3A8PChzdHJlYW1hYmxlX3JhbmdlKSIgZm9yOiAib3A8PChzdHJlYW1hYmxlX3JhbmdlKSIKPT0KIm9wPDwoc3RyZWFtYWJsZV9yYW5nZSkiClRvU3RyaW5nV2hpY2gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoc3RyaW5nbWFrZXJfcmFuZ2V7fSkgPT0gInN0cmluZ21ha2VyKHN0cmVhbWFibGVfcmFuZ2UpIiBmb3I6ICJzdHJpbmdtYWtlcihzdHJlYW1hYmxlX3JhbmdlKSIKPT0KInN0cmluZ21ha2VyKHN0cmVhbWFibGVfcmFuZ2UpIgpUb1N0cmluZ1doaWNoLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDo6Q2F0Y2g6OkRldGFpbDo6c3RyaW5naWZ5KGp1c3RfcmFuZ2V7fSkgPT0gInsgMSwgMiwgMywgNCB9IiBmb3I6ICJ7IDEsIDIsIDMsIDQgfSIgPT0gInsgMSwgMiwgMywgNCB9IgpUb1N0cmluZ1doaWNoLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDo6Q2F0Y2g6OkRldGFpbDo6c3RyaW5naWZ5KGRpc2FibGVkX3Jhbmdle30pID09ICJ7ICEhISB9IiBmb3I6ICJ7ICEhISB9IiA9PSAieyAhISEgfSIKVG9TdHJpbmdXaGljaC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSggaXRlbSApID09ICJTdHJpbmdNYWtlcjxoYXNfbWFrZXI+IiBmb3I6ICJTdHJpbmdNYWtlcjxoYXNfbWFrZXI+Igo9PQoiU3RyaW5nTWFrZXI8aGFzX21ha2VyPiIKVG9TdHJpbmdXaGljaC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSggaXRlbSApID09ICJTdHJpbmdNYWtlcjxoYXNfbWFrZXJfYW5kX29wZXJhdG9yPiIgZm9yOiAiU3RyaW5nTWFrZXI8aGFzX21ha2VyX2FuZF9vcGVyYXRvcj4iCj09CiJTdHJpbmdNYWtlcjxoYXNfbWFrZXJfYW5kX29wZXJhdG9yPiIKVG9TdHJpbmdXaGljaC50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShpdGVtKSA9PSAieyAhISEgfSIgZm9yOiAieyAhISEgfSIgPT0gInsgISEhIH0iClRvU3RyaW5nV2hpY2gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoIGl0ZW0gKSA9PSAib3BlcmF0b3I8PCggaGFzX29wZXJhdG9yICkiIGZvcjogIm9wZXJhdG9yPDwoIGhhc19vcGVyYXRvciApIgo9PQoib3BlcmF0b3I8PCggaGFzX29wZXJhdG9yICkiClRvU3RyaW5nV2hpY2gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoIGl0ZW0gKSA9PSAib3BlcmF0b3I8PCggaGFzX3RlbXBsYXRlX29wZXJhdG9yICkiIGZvcjogIm9wZXJhdG9yPDwoIGhhc190ZW1wbGF0ZV9vcGVyYXRvciApIgo9PQoib3BlcmF0b3I8PCggaGFzX3RlbXBsYXRlX29wZXJhdG9yICkiClRvU3RyaW5nV2hpY2gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoIHYgKSA9PSAieyBTdHJpbmdNYWtlcjxoYXNfbWFrZXI+IH0iIGZvcjogInsgU3RyaW5nTWFrZXI8aGFzX21ha2VyPiB9Igo9PQoieyBTdHJpbmdNYWtlcjxoYXNfbWFrZXI+IH0iClRvU3RyaW5nV2hpY2gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoIHYgKSA9PSAieyBTdHJpbmdNYWtlcjxoYXNfbWFrZXJfYW5kX29wZXJhdG9yPiB9IiBmb3I6ICJ7IFN0cmluZ01ha2VyPGhhc19tYWtlcl9hbmRfb3BlcmF0b3I+IH0iCj09CiJ7IFN0cmluZ01ha2VyPGhhc19tYWtlcl9hbmRfb3BlcmF0b3I+IH0iClRvU3RyaW5nV2hpY2gudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoIHYgKSA9PSAieyBvcGVyYXRvcjw8KCBoYXNfb3BlcmF0b3IgKSB9IiBmb3I6ICJ7IG9wZXJhdG9yPDwoIGhhc19vcGVyYXRvciApIH0iCj09CiJ7IG9wZXJhdG9yPDwoIGhhc19vcGVyYXRvciApIH0iCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5zdHIuc2l6ZSgpID09IGRhdGEubGVuIGZvcjogMyA9PSAzCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5zdHIuc2l6ZSgpID09IGRhdGEubGVuIGZvcjogMyA9PSAzCkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5zdHIuc2l6ZSgpID09IGRhdGEubGVuIGZvcjogNSA9PSA1CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogZGF0YS5zdHIuc2l6ZSgpID09IGRhdGEubGVuIGZvcjogNCA9PSA0CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3RybGVuKHN0ZDo6Z2V0PDA+KGRhdGEpKSA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+KHN0ZDo6Z2V0PDE+KGRhdGEpKSBmb3I6IDUgPT0gNQpHZW5lcmF0b3JzLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHN0cmxlbihzdGQ6OmdldDwwPihkYXRhKSkgPT0gc3RhdGljX2Nhc3Q8c2l6ZV90PihzdGQ6OmdldDwxPihkYXRhKSkgZm9yOiA2ID09IDYKR2VuZXJhdG9ycy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiBzdHJsZW4oc3RkOjpnZXQ8MD4oZGF0YSkpID09IHN0YXRpY19jYXN0PHNpemVfdD4oc3RkOjpnZXQ8MT4oZGF0YSkpIGZvcjogNSA9PSA1CkdlbmVyYXRvcnMudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogc3RybGVuKHN0ZDo6Z2V0PDA+KGRhdGEpKSA9PSBzdGF0aWNfY2FzdDxzaXplX3Q+KHN0ZDo6Z2V0PDE+KGRhdGEpKSBmb3I6IDYgPT0gNgpFeGNlcHRpb24udGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IGZhaWxlZDogdW5leHBlY3RlZCBleGNlcHRpb24gd2l0aCBtZXNzYWdlOiAnV2h5IHdvdWxkIHlvdSB0aHJvdyBhIHN0ZDo6c3RyaW5nPycKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiByZXN1bHQgPT0gIlwid2lkZSBsb2FkXCIiIGZvcjogIiJ3aWRlIGxvYWQiIiA9PSAiIndpZGUgbG9hZCIiCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogcmVzdWx0ID09ICJcIndpZGUgbG9hZFwiIiBmb3I6ICIid2lkZSBsb2FkIiIgPT0gIiJ3aWRlIGxvYWQiIgpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHJlc3VsdCA9PSAiXCJ3aWRlIGxvYWRcIiIgZm9yOiAiIndpZGUgbG9hZCIiID09ICIid2lkZSBsb2FkIiIKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiByZXN1bHQgPT0gIlwid2lkZSBsb2FkXCIiIGZvcjogIiJ3aWRlIGxvYWQiIiA9PSAiIndpZGUgbG9hZCIiCkVudW1Ub1N0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShlMCkgPT0gIkUyL1YwIiBmb3I6ICJFMi9WMCIgPT0gIkUyL1YwIgpFbnVtVG9TdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoZTEpID09ICJFMi9WMSIgZm9yOiAiRTIvVjEiID09ICJFMi9WMSIKRW51bVRvU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDo6Q2F0Y2g6OkRldGFpbDo6c3RyaW5naWZ5KGUzKSA9PSAiVW5rbm93biBlbnVtIHZhbHVlIDEwIiBmb3I6ICJVbmtub3duIGVudW0gdmFsdWUgMTAiCj09CiJVbmtub3duIGVudW0gdmFsdWUgMTAiCkVudW1Ub1N0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShlMCkgPT0gIjAiIGZvcjogIjAiID09ICIwIgpFbnVtVG9TdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoZTEpID09ICIxIiBmb3I6ICIxIiA9PSAiMSIKRW51bVRvU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDo6Q2F0Y2g6OkRldGFpbDo6c3RyaW5naWZ5KGUwKSA9PSAiRTJ7MH0iIGZvcjogIkUyezB9IiA9PSAiRTJ7MH0iCkVudW1Ub1N0cmluZy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShlMSkgPT0gIkUyezF9IiBmb3I6ICJFMnsxfSIgPT0gIkUyezF9IgpFbnVtVG9TdHJpbmcudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoZTApID09ICIwIiBmb3I6ICIwIiA9PSAiMCIKRW51bVRvU3RyaW5nLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDo6Q2F0Y2g6OkRldGFpbDo6c3RyaW5naWZ5KGUxKSA9PSAiMSIgZm9yOiAiMSIgPT0gIjEiClRvU3RyaW5nVHVwbGUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogInsgfSIgPT0gOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkodHlwZXt9KSBmb3I6ICJ7IH0iID09ICJ7IH0iClRvU3RyaW5nVHVwbGUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogInsgfSIgPT0gOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkodmFsdWUpIGZvcjogInsgfSIgPT0gInsgfSIKVG9TdHJpbmdUdXBsZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAiMS4yZiIgPT0gOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkoZmxvYXQoMS4yKSkgZm9yOiAiMS4yZiIgPT0gIjEuMmYiClRvU3RyaW5nVHVwbGUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogInsgMS4yZiwgMCB9IiA9PSA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSh0eXBlezEuMmYsMH0pIGZvcjogInsgMS4yZiwgMCB9IiA9PSAieyAxLjJmLCAwIH0iClRvU3RyaW5nVHVwbGUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogInsgMCB9IiA9PSA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSh0eXBlezB9KSBmb3I6ICJ7IDAgfSIgPT0gInsgMCB9IgpUb1N0cmluZ1R1cGxlLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6ICJ7IDAsIDQyLCBcIkNhdGNoIG1lXCIgfSIgPT0gOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkodmFsdWUpIGZvcjogInsgMCwgNDIsICJDYXRjaCBtZSIgfSIKPT0KInsgMCwgNDIsICJDYXRjaCBtZSIgfSIKVG9TdHJpbmdUdXBsZS50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiAieyBcImhlbGxvXCIsIFwid29ybGRcIiB9IiA9PSA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSh0eXBleyJoZWxsbyIsIndvcmxkIn0pIGZvcjogInsgImhlbGxvIiwgIndvcmxkIiB9Igo9PQoieyAiaGVsbG8iLCAid29ybGQiIH0iClRvU3RyaW5nVHVwbGUudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogInsgeyA0MiB9LCB7IH0sIDEuMmYgfSIgPT0gOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkodmFsdWUpIGZvcjogInsgeyA0MiB9LCB7IH0sIDEuMmYgfSIKPT0KInsgeyA0MiB9LCB7IH0sIDEuMmYgfSIKVG9TdHJpbmdWZWN0b3IudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogOjpDYXRjaDo6RGV0YWlsOjpzdHJpbmdpZnkodikgPT0gInsgIH0iIGZvcjogInsgIH0iID09ICJ7ICB9IgpUb1N0cmluZ1ZlY3Rvci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSh2KSA9PSAieyB7IFwiaGVsbG9cIiB9LCB7IFwid29ybGRcIiB9IH0iIGZvcjogInsgeyAiaGVsbG8iIH0sIHsgIndvcmxkIiB9IH0iCj09CiJ7IHsgImhlbGxvIiB9LCB7ICJ3b3JsZCIgfSB9IgpUb1N0cmluZ1ZlY3Rvci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShib29scykgPT0gInsgIH0iIGZvcjogInsgIH0iID09ICJ7ICB9IgpUb1N0cmluZ1ZlY3Rvci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShib29scykgPT0gInsgdHJ1ZSB9IiBmb3I6ICJ7IHRydWUgfSIgPT0gInsgdHJ1ZSB9IgpUb1N0cmluZ1ZlY3Rvci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShib29scykgPT0gInsgdHJ1ZSwgZmFsc2UgfSIgZm9yOiAieyB0cnVlLCBmYWxzZSB9IiA9PSAieyB0cnVlLCBmYWxzZSB9IgpUb1N0cmluZ1ZlY3Rvci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSh2dikgPT0gInsgIH0iIGZvcjogInsgIH0iID09ICJ7ICB9IgpUb1N0cmluZ1ZlY3Rvci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSh2dikgPT0gInsgNDIgfSIgZm9yOiAieyA0MiB9IiA9PSAieyA0MiB9IgpUb1N0cmluZ1ZlY3Rvci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSh2dikgPT0gInsgNDIsIDI1MCB9IiBmb3I6ICJ7IDQyLCAyNTAgfSIgPT0gInsgNDIsIDI1MCB9IgpUb1N0cmluZ1ZlY3Rvci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSh2dikgPT0gInsgIH0iIGZvcjogInsgIH0iID09ICJ7ICB9IgpUb1N0cmluZ1ZlY3Rvci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSh2dikgPT0gInsgNDIgfSIgZm9yOiAieyA0MiB9IiA9PSAieyA0MiB9IgpUb1N0cmluZ1ZlY3Rvci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSh2dikgPT0gInsgNDIsIDI1MCB9IiBmb3I6ICJ7IDQyLCAyNTAgfSIgPT0gInsgNDIsIDI1MCB9IgpUb1N0cmluZ1ZlY3Rvci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSh2dikgPT0gInsgIH0iIGZvcjogInsgIH0iID09ICJ7ICB9IgpUb1N0cmluZ1ZlY3Rvci50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeSh2dikgPT0gInsgXCJoZWxsb1wiIH0iIGZvcjogInsgImhlbGxvIiB9IiA9PSAieyAiaGVsbG8iIH0iClRvU3RyaW5nVmVjdG9yLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IDo6Q2F0Y2g6OkRldGFpbDo6c3RyaW5naWZ5KHZ2KSA9PSAieyBcImhlbGxvXCIsIFwid29ybGRcIiB9IiBmb3I6ICJ7ICJoZWxsbyIsICJ3b3JsZCIgfSIKPT0KInsgImhlbGxvIiwgIndvcmxkIiB9IgpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDUgZm9yOiA1ID09IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gNSBmb3I6IDUgPj0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDEwIGZvcjogMTAgPT0gMTAKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gMTAgZm9yOiAxMCA+PSAxMApNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDUgZm9yOiA1ID09IDUKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gNSBmb3I6IDUgPj0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuc2l6ZSgpID09IDAgZm9yOiAwID09IDAKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOiB2LmNhcGFjaXR5KCkgPj0gNSBmb3I6IDUgPj0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA9PSAwIGZvcjogMCA9PSAwCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5zaXplKCkgPT0gNSBmb3I6IDUgPT0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA+PSA1IGZvcjogNSA+PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5zaXplKCkgPT0gNSBmb3I6IDUgPT0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA+PSAxMCBmb3I6IDEwID49IDEwCk1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5zaXplKCkgPT0gNSBmb3I6IDUgPT0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA+PSA1IGZvcjogNSA+PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDogdi5zaXplKCkgPT0gNSBmb3I6IDUgPT0gNQpNaXNjLnRlc3RzLmNwcDo8bGluZSBudW1iZXI+OiBwYXNzZWQ6IHYuY2FwYWNpdHkoKSA+PSA1IGZvcjogNSA+PSA1Ck1pc2MudGVzdHMuY3BwOjxsaW5lIG51bWJlcj46IHBhc3NlZDoKTWlzYy50ZXN0cy5jcHA6PGxpbmUgbnVtYmVyPjogcGFzc2VkOgpGYWlsZWQgNzkgdGVzdCBjYXNlcywgZmFpbGVkIDE0MSBhc3NlcnRpb25zLgoK